1. Bản chất Toán học
Số nguyên tố là số tự nhiên lớn hơn 1 và chỉ có đúng hai ước dương: 1 và chính nó. Để kiểm tra một số N có phải là số nguyên tố hay không, ta đếm số lượng ước của N trong khoảng từ 1 tới N. Nếu số lượng ước bằng 2 → N là số nguyên tố; nếu lớn hơn 2 → N không phải số nguyên tố. Công thức đếm ước:
đếm = Σ_{i=1}^{N} [N mod i = 0]
(Trong đó dấu ngoặc vuông là hàm kiểm tra, trả về 1 nếu điều kiện đúng, 0 nếu sai). Khi đếm = 2 thì N là nguyên tố.
2. Tư duy Thuật toán Scratch
- Bước 1: Nhận giá trị N từ người dùng bằng khối
ask [Nhập N:] and wait.
- Bước 2: Tạo biến
đếm và đặt giá trị ban đầu = 0.
- Bước 3: Dùng vòng lặp
repeat (N) (hoặc repeat until với biến đếm) để lặp i từ 1 tới N.
- Bước 4: Trong mỗi vòng, kiểm tra
(N mod i) = 0 bằng khối if < >. Nếu đúng, tăng biến đếm lên 1.
- Bước 5: Sau khi vòng lặp kết thúc, dùng
if <đếm = 2> để quyết định thông báo “N là số nguyên tố” hoặc “N không phải số nguyên tố”.
- Bước 6 (tối ưu, không bắt buộc): Giảm phạm vi lặp tới √N để tăng tốc, nhưng với yêu cầu “lặp từ 1 đến N” ta giữ nguyên cách trên.
3. Nhóm khối Scratch cần dùng
Events 🟡: when green flag clicked, ask [ ] and wait để nhận N.
Control 🟠: repeat ( ) (hoặc repeat until), if < > then, else để kiểm tra điều kiện và điều hướng luồng.
Sensing 🩵: ( ) mod ( ) để tính phần dư, answer để lấy giá trị người dùng nhập.
Variables 🟧: biến N (lưu giá trị nhập), i (đếm vòng lặp), đếm (đếm số ước).
Operators 🟢: =, <, >, and nếu cần kết hợp nhiều điều kiện.
Các khối trên kết hợp lại sẽ tạo nên chương trình kiểm tra số nguyên tố hoàn chỉnh trong Scratch.
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!