Yêu cầu đề bài: Hãy viết chương trình Scratch để tìm số có 4 chữ số thỏa mãn hai điều kiện sau: số đó khi chia cho 131 thì dư 18, và khi chia cho 132 thì dư 3.
Phân tích thuật toán & Soi mã nguồn Scratch .sb3
repeat
repeat until
say
Để giải quyết bài toán "Tìm số có 4 chữ số theo điều kiện chia" trên môi trường lập trình Scratch 3.0, học sinh không chỉ đơn thuần áp dụng các công thức tính toán trên giấy, mà cần rèn luyện năng lực Tư duy máy tính (Computational Thinking) theo định hướng Chương trình GDPT 2018. Quá trình này bao gồm 4 trụ cột cốt lõi:
Chia nhỏ bài toán tổng thể thành 3 phân đoạn độc lập: Tiếp nhận dữ liệu đầu vào (Input), Tính toán xử lý thuật toán (Processing), và Hiển thị kết quả trực quan (Output).
Xác định quy luật toán học thuộc phân môn Số học với độ khó Trung bình, nhận diện cấu trúc lặp lại hoặc điều kiện kiểm tra logic.
Đại số hóa các đại lượng thực tế thành các Biến số (Variables) nhớ trong bộ nhớ máy tính, loại bỏ các chi tiết thừa không ảnh hưởng đến thuật toán.
Biến số (Variables)
Xây dựng trình tự các khối lệnh kéo thả logic, đảm bảo chương trình chạy chính xác cho mọi trường hợp dữ liệu thử nghiệm đầu vào.
Cốt lõi toán học của bài toán dựa trên quy tắc tính toán và biểu thức quan hệ:
x ≡ 18 (mod 131) và x ≡ 3 (mod 132)
Dưới đây là kịch bản mô phỏng trực quan các khối lệnh Scratch cần lắp ghép cho nhân vật (Sprite) để chương trình hoạt động hoàn hảo:
Để đảm bảo tính chính xác và không xảy ra lỗi tràn số hay chia cho 0, học sinh nên kiểm thử chương trình Scratch với các bộ dữ liệu sau:
Học sinh hay quên khởi tạo lại các biến tổng hoặc biến đếm về 0 khi bấm cờ xanh lần 2, dẫn đến kết quả cộng dồn sai lệch.
Trong Scratch không có dấu ngoặc đơn, học sinh cần lồng các khối Cộng/Trừ vào trong khối Nhân/Chia đúng thứ tự để không bị sai quy tắc toán học.
Cộng/Trừ
Nhân/Chia
Khối Hỏi và đợi lưu dữ liệu vào biến hệ thống câu trả lời. Nếu gọi liên tiếp 2 câu hỏi, câu trả lời thứ nhất sẽ bị ghi đè nếu chưa kịp lưu vào biến riêng.
Hỏi và đợi
câu trả lời
.sb3