Menu
CoddyTech

Ôn tập: máy tính đơn giản

Thuộc phần Lập trình hướng đối tượng trong hành trình GDScript của Coddy. Bài học 8 trên 65.

challenge icon

Thử thách

Trung bình

Viết lớp Calculator trong calculator.gd. Lớp này lưu kết quả đang tính trong thuộc tính float result, bắt đầu từ 0.0.

  • add(number), subtract(number), multiply(number) và divide(number) thực hiện phép tính với result và number, lưu kết quả mới rồi trả về kết quả đó
  • Khi divide() nhận 0, hàm in ra Error: Division by zero, giữ nguyên result rồi trả về giá trị đó
  • clear() đặt lại result thành 0.0 rồi trả về giá trị đó
  • get_result() trả về result

Code được cung cấp đọc số lượng lệnh tiếp theo, rồi đọc từng lệnh trên một dòng, chẳng hạn như add 5, divide 0 hoặc clear. Sau mỗi lệnh, code in tên lệnh và giá trị mà phương thức trả về, rồi in kết quả cuối cùng. Với các lệnh add 5, multiply 3, subtract 2, divide 0 và divide 2, chương trình in ra:

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

Đặt code của bạn trong calculator.gd. main.gd chứa code đầu vào/đầu ra được cung cấp và bạn không thể chỉnh sửa tệp này.

Tự làm thử

extends Node

func _ready():
	# Đoạn code đầu vào/đầu ra đã có sẵn: giữ nguyê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())

Tất cả bài học trong Lập trình hướng đối tượng

Tự luyện tập: Trình biên dịch GDScript online