Tin học lớp 4-5 - Bài 19: Dự án Máy tính Toán học (Python & Toán)

Bài 19: Dự án — "Máy tính Toán học" tự làm bằng Python

🎯 Mục tiêu bài học
• Gộp tất cả kỹ năng đã học thành một chương trình lớn.
• Biết làm menu cho người dùng chọn chức năng.
• Dùng if / elif / else để máy chạy đúng việc theo lựa chọn.
MAY TINH TOAN HOC1. Chu vi hinh chu nhat2. Dien tich hinh chu nhat3. Trung binh cong0. ThoatChon: _
Một “máy tính” có menu → người dùng chọn số, máy làm việc tương ứng.
Dự án là gì? Từ bài này ta không học lệnh mới nữa, mà ghép những gì đã biết (hàm def, phép tính chu vi – diện tích, trung bình cộng) thành một sản phẩm hoàn chỉnh: một chiếc máy tính Toán học có menu, giống một ứng dụng thật!

1. Hình dung sản phẩm trước khi viết

Máy tính của ta sẽ hiện một menu gồm các lựa chọn. Người dùng gõ một con số để chọn việc muốn làm. Đây là bước thiết kế – luôn nên nghĩ trước khi gõ code.
# Menu se hien ra:
# 1. Chu vi hinh chu nhat
# 2. Dien tich hinh chu nhat
# 3. Trung binh cong 3 so
# 0. Thoat
💡 Mẹo: chia dự án lớn thành từng việc nhỏ, làm xong từng phần một sẽ dễ hơn nhiều.

2. Mỗi chức năng là một hàm def

Ta viết mỗi phép tính thành một hàm riêng. Nhờ vậy code gọn gàng và dễ sửa. Đây chính là kỹ năng ở Bài 11 – 12.
def chu_vi(a, b):
    return (a + b) * 2

def dien_tich(a, b):
    return a * b

def trung_binh(x, y, z):
    return (x + y + z) / 3
💡 Mỗi hàm làm một việc, có return để trả kết quả về.

3. Nhận lựa chọn từ người dùng: input

Lệnh input() cho người dùng gõ vào. Vì input luôn trả về chữ, ta dùng int() để đổi thành số.
chon = int(input("Ban chon: "))
💡 Nếu cần số có phần thập phân (như cạnh 2.5), dùng float() thay cho int().

4. Rẽ nhánh bằng if / elif / else

Sau khi biết người dùng chọn số mấy, máy dùng if / elif để chạy đúng chức năng. Nếu chọn số lạ, khối else báo lỗi.
chon = ?chon==1tinh chu vichon==2tinh dien tichchon==3trung binh congif ... elif ... elif ... elseMáy chọn đúng nhánh theo lựa chọn của bạn
Dùng if / elif để máy “rẽ nhánh” theo con số người dùng chọn.
if chon == 1:
    print(chu_vi(a, b))
elif chon == 2:
    print(dien_tich(a, b))
else:
    print("Lua chon khong hop le")
💡 elif = "else if" = nếu không phải cái trên thì thử cái này.

5. Ghép lại thành chương trình hoàn chỉnh

Cuối cùng, ta gộp: in menu → nhận lựa chọn → hỏi số liệu → gọi hàm → in kết quả. Đó là một máy tính Toán học hoàn chỉnh! Bạn sẽ thấy đầy đủ chương trình trong phần thí nghiệm bên dưới.
💡 Một chương trình thật cũng chỉ là nhiều mảnh nhỏ ghép lại theo thứ tự hợp lý.

📚 Bảng ghi nhớ

Thành phầnVai trò trong dự án
def ... returnGói mỗi phép tính thành một hàm
input() + int()Nhận lựa chọn / số liệu từ người dùng
if / elif / elseRẽ nhánh, chạy đúng chức năng được chọn
print()Hiện menu và in kết quả

✎ Câu hỏi trắc nghiệm

Câu 1. Từ khoá elif trong Python có nghĩa là gì?

elif viết gọn của "else if": khi điều kiện phía trên không đúng, máy mới xét đến elif.

Câu 2. Vì sao ta cần int(input(...)) mà không chỉ dùng input(...)?

input() luôn cho ra chuỗi (chữ). Muốn cộng, nhân... phải đổi sang số bằng int() (hoặc float()).

Câu 3. Với hàm def chu_vi(a, b): return (a + b) * 2, gọi chu_vi(3, 5) trả về bao nhiêu?

(3 + 5) × 2 = 8 × 2 = 16. Đó là chu vi hình chữ nhật cạnh 3 và 5.

Câu 4. Trong máy tính có menu, khối else ở cuối dùng để làm gì?

else chạy khi không lựa chọn nào khớp → thường dùng để báo "Lựa chọn không hợp lệ".

Câu 5. Vì sao ta nên chia mỗi phép tính thành một hàm def riêng?

Chia thành hàm giúp mỗi phần làm một việc, dễ đọc, dễ tìm lỗi và tái sử dụng – đúng tinh thần lập trình.
💻 Phòng thí nghiệm Python: Đây là chiếc Máy tính Toán học hoàn chỉnh! Khi bấm Chạy, máy sẽ hỏi bạn chọn chức năng và nhập số. Thử chọn 1, 2 hoặc 3 rồi làm theo hướng dẫn nhé.
(Kết quả sẽ hiện ở đây)
🎉 Thử thách: Thêm chức năng 4. Diện tích hình vuông (chỉ cần 1 cạnh). Gợi ý: viết thêm hàm dien_tich_vuong(a) trả về a * a, rồi thêm một nhánh elif chon == 4.