1. Bản chất Toán học
Gọi số cần tìm là ab (a là chữ số hàng chục, b là chữ số hàng đơn vị, 0 ≤ a ≤ 9, 0 ≤ b ≤ 9, a ≠ 0 vì số có 2 chữ số).
Theo đề bài:
ab + a·b = 10a + b
Thay ab = 10a + b vào biểu thức, ta có:
(10a + b) + a·b = 10a + b
Rút gọn: a·b = 0.
Vì a ≠ 0 (số có 2 chữ số), nên phải có b = 0.
Do đó mọi số có dạng a0 (a = 1…9) thỏa mãn điều kiện, và chữ số hàng đơn vị luôn là 0.
Kết luận: chữ số hàng đơn vị cần tìm là 0.
2. Tư duy Thuật toán Scratch
- Khởi tạo hai biến
a (chữ số hàng chục) và b (chữ số hàng đơn vị).
- Yêu cầu người dùng nhập một số có 2 chữ số (hoặc nhập riêng a và b).
- Tách số thành a và b:
a = floor(số / 10), b = số mod 10.
- Tính
tổng = a + b và tích = a * b.
- Kiểm tra điều kiện
tổng + tích = số (hoặc a * b = 0).
- Nếu đúng, hiển thị “Chữ số hàng đơn vị = b”. Nếu không, thông báo “Không tồn tại số thỏa mãn”.
- Vì kết quả luôn b = 0, chương trình có thể rút gọn: chỉ cần in 0 khi a ≠ 0.
3. Nhóm khối Scratch cần dùng
Events 🟡: “when flag clicked” để bắt đầu chương trình.
Sensing 🩵: “ask [Nhập số 2 chữ số:] and wait”, “answer” để lấy giá trị người dùng nhập.
Operators 🟢: “( ) mod ( )”, “( ) / ( )”, “floor”, “+”, “*”, “=”, “and”, “or”.
Variables 🟧: tạo biến số, a, b, tổng, tích.
Control 🟠: “if … then … else …” để kiểm tra điều kiện, “repeat” (không bắt buộc) nếu muốn lặp nhập lại khi nhập sai.
Các khối này kết hợp lại sẽ thực hiện các bước thuật toán ở mục 2 và đưa ra kết quả cuối cùng.
Các nhóm khối Scratch gợi ý:
khi bấm vào lá cờ xanh
hỏi [Nhập số liệu đề bài] và chờ
đặt [Ket_Qua v] thành (0)
lặp lại (trả lời) lần
((Ket_Qua) + (câu trả lời))
💡 Mẹo từ AI: Đảm bảo khởi tạo giá trị biến số bằng 0 trước khi bước vào vòng lặp!