Menu
CoddyTech
flag Ar iconالعربيةdown icon

مراجعة - آلة حاسبة بسيطة

جزء من قسم البرمجة كائنية التوجّه في رحلة GDScript على Coddy. الدرس 8 من 65.

challenge icon

التحدي

متوسط

اكتب الصنف Calculator في calculator.gd. يحتفظ بنتيجة متراكمة في الخاصية float المسماة result، وتبدأ قيمتها عند 0.0.

  • تطبّق add(number) وsubtract(number) وmultiply(number) وdivide(number) العملية على result باستخدام number، وتحفظ النتيجة الجديدة وتعيدها
  • عندما تتلقى divide() القيمة 0، تطبع Error: Division by zero، وتُبقي result دون تغيير وتعيدها
  • تُعيد clear() قيمة result إلى 0.0 وتعيدها
  • تعيد get_result() قيمة result

يقرأ الكود المرفق عدد الأوامر التالية، ثم أمرًا واحدًا في كل سطر، مثل add 5 أو divide 0 أو clear. بعد كل أمر، يطبع اسم الأمر والقيمة التي أعادتها الدالة، وفي النهاية يطبع النتيجة النهائية. عند تنفيذ add 5 وmultiply 3 وsubtract 2 وdivide 0 وdivide 2، يطبع:

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

ضع الكود في calculator.gd. يحتوي main.gd على كود الإدخال/الإخراج المرفق، ولا يمكن تعديله.

جرّب بنفسك

extends Node

func _ready():
	# شيفرة الإدخال/الإخراج المقدَّمة: أبقِها كما هي
	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())

جميع دروس البرمجة كائنية التوجّه

تدرّب بنفسك: مترجم GDScript عبر الإنترنت