Yêu cầu đề bài: Nhập N. Số nguyên tố là số lớn hơn 1 và chỉ có 2 ước số là 1 và chính nó. Dùng vòng lặp Scratch kiểm tra số ước của N.
Phân tích thuật toán & Soi mã nguồn Scratch .sb3
repeat
repeat until
say
Bài toán "Kiểm tra Số Nguyên Tố trong Scratch" là một thách thức về Thuật toán & Xử lý logic, yêu cầu học sinh phải thiết kế trình tự xử lý dữ liệu đúng đắn trong Scratch 3.0. Không chỉ đơn thuần là bài toán tính nhẩm, đây là bài rèn luyện tư duy lập trình — khả năng phân rã vấn đề phức tạp thành chuỗi bước máy tính có thể thực thi. Quá trình giải bao gồm 4 trụ cột Tư duy máy tính (Computational Thinking):
Chia bài toán sử dụng vòng lặp thành: (a) Khởi tạo biến ban đầu và nhập dữ liệu, (b) Thiết kế vòng lặp xử lý từng phần tử / bước tính, (c) Thoát vòng lặp và xuất kết quả cuối cùng.
Xác định quy luật toán học cốt lõi trong phân môn Thuật toán ở mức Trung bình. Nhận diện cấu trúc lặp lại, điều kiện kiểm tra và mối quan hệ giữa các đại lượng trong đề bài.
Đại số hóa các đại lượng trong đề bài "Kiểm tra Số Nguyên Tố trong Scratch" thành các Biến số (Variables) trong bộ nhớ chương trình. Xác định rõ biến nào là Input (do người dùng nhập), biến nào là Output (kết quả cần tìm), biến nào là trung gian (dùng trong quá trình tính).
Biến số (Variables)
Thiết kế chuỗi khối lệnh sử dụng Vòng lặp (Repeat N lần) làm trục chính, kết hợp biến đếm tăng dần sau mỗi lần lặp. Kiểm tra thuật toán đạt kết quả chính xác sau đúng N bước lặp.
Vòng lặp (Repeat N lần)
Thuật toán của bài toán "Kiểm tra Số Nguyên Tố trong Scratch" đòi hỏi thiết kế quy trình xử lý dữ liệu có hệ thống. Cốt lõi nằm ở việc chuyển đổi bài toán suy luận sang chuỗi phép toán máy tính có thể thực thi tuần tự:
Lặp từ 1 đến N đếm số ước
Dưới đây là kịch bản mô phỏng các khối lệnh Scratch cần lắp ghép để giải bài "Kiểm tra Số Nguyên Tố trong Scratch":
Để đảm bảo chương trình Scratch giải bài "Kiểm tra Số Nguyên Tố trong Scratch" hoạt động chính xác, hãy kiểm thử với các bộ dữ liệu sau:
Trong bài "Kiểm tra Số Nguyên Tố trong Scratch" sử dụng vòng lặp, biến Ket_Qua và Bien_Dem PHẢI được đặt lại về 0 ngay sau khối khi bấm cờ xanh. Nếu quên, lần chạy thứ 2 sẽ cộng dồn sai.
Ket_Qua
Bien_Dem
khi bấm cờ xanh
Đếm từ 1 đến N cần lặp đúng N lần, nhưng đếm từ 0 đến N−1 cũng là N lần. Sai 1 đơn vị (off-by-one) là lỗi rất phổ biến — hãy kiểm tra bằng Test Case với N nhỏ để phát hiện sớm.
Khối Hỏi và đợi lưu kết quả vào biến hệ thống câu trả lời. Nếu bài "Kiểm tra Số Nguyên Tố trong Scratch" cần nhập nhiều giá trị, phải lưu câu trả lời vào biến riêng (So_1, So_2...) ngay sau mỗi lần hỏi, trước khi hỏi câu tiếp theo.
Hỏi và đợi
câu trả lời
So_1
So_2
Nói (giá trị biến) trong 2 giây
.sb3