Menu
CoddyTech

Tekrar - Basit Hesap Makinesi

Coddy'nin GDScript Journey'sinin Nesne Yönelimli Programlama bölümünün bir parçası. Ders 8 / 65.

challenge icon

Görev

Orta

calculator.gd dosyasında Calculator sınıfını yaz. Bu sınıf, başlangıç değeri 0.0 olan float özelliği result içinde güncel sonucu tutar.

  • add(number), subtract(number), multiply(number) ve divide(number), number ile result üzerinde ilgili işlemi uygular, yeni sonucu kaydeder ve döndürür
  • divide() işlemi 0 aldığında Error: Division by zero yazdırır, result değerini değiştirmez ve onu döndürür
  • clear(), result değerini tekrar 0.0 yapar ve döndürür
  • get_result(), result değerini döndürür

Sağlanan kod, ardından kaç komut geleceğini okur; sonra her satırda bir komut okur. Örneğin add 5, divide 0 veya clear. Her komuttan sonra komut adını ve metodun döndürdüğü değeri, en sonda da nihai sonucu yazdırır. add 5, multiply 3, subtract 2, divide 0 ve divide 2 için şunları yazdırır:

add -> 5.0
multiply -> 15.0
subtract -> 13.0
Error: Division by zero
divide -> 13.0
divide -> 6.5
Final result: 6.5

Kodunu calculator.gd dosyasına yaz. main.gd, sağlanan girdi/çıktı kodunu içerir ve düzenlenemez.

Kendin dene

extends Node

func _ready():
	# Sağlanan girdi/çıktı kodu: olduğu gibi bırakın
	var calc := Calculator.new()
	var count := int(OS.read_string_from_stdin())
	for i in count:
		var parts := OS.read_string_from_stdin().split(" ")
		var value := 0.0
		match parts[0]:
			"add":
				value = calc.add(float(parts[1]))
			"subtract":
				value = calc.subtract(float(parts[1]))
			"multiply":
				value = calc.multiply(float(parts[1]))
			"divide":
				value = calc.divide(float(parts[1]))
			"clear":
				value = calc.clear()
		print("%s -> %s" % [parts[0], value])
	print("Final result: %s" % calc.get_result())

Nesne Yönelimli Programlama bölümündeki tüm dersler

Kendi başına pratik yap: Online GDScript derleyicisi