1. Bản chất Toán học
1. Xác định độ dài một chuỗi “toquocvietnam”
- “toquocvietnam” có 14 chữ cái.
2. Tìm chữ cái thứ 1996
- 1996 ÷ 14 = 142 dư 8.
- Vị trí 8 trong một chuỗi là “i”.
3. Đếm số “t”, “o”, “i” khi có 50 chữ “t”
- Mỗi chuỗi có 2 chữ “t” → 50 ÷ 2 = 25 chuỗi.
- Tổng số chữ: 25 × 14 = 350.
- “o” xuất hiện 2 lần/chuỗi → 25 × 2 = 50.
- “i” xuất hiện 1 lần/chuỗi → 25 × 1 = 25.
4. Kiểm tra kết quả của An (2007 chữ “o”)
- 2007 ÷ 14 = 143 chuỗi + 5 chữ.
- “o” trong 143 chuỗi: 143 × 2 = 286.
- Trong 5 chữ đầu của chuỗi tiếp theo (t o q u o) còn 2 “o”.
- Tổng “o” = 286 + 2 = 288.
- Do đó, 2007 “o” là sai.
5. Xác định màu của chữ thứ 2007
- Màu lặp theo chu kỳ 4: xanh, đỏ, tím, vàng.
- 2007 ÷ 4 = 501 dư 3 → vị trí thứ 3 trong chu kỳ: tím.
2. Tư duy Thuật toán Scratch
- Định nghĩa độ dài chuỗi (14) và tính toán phần dư khi chia số vị trí cần tìm.
- Sử dụng vòng lặp “repeat” để sinh chuỗi “toquocvietnam” nhiều lần, đồng thời đếm các ký tự cần thiết.
- Áp dụng toán tử “mod” để xác định vị trí trong chuỗi và màu sắc.
- Kiểm tra kết quả bằng cách so sánh với dữ liệu đã tính toán.
- Hiển thị kết quả lên màn hình hoặc lưu vào biến.
3. Nhóm khối Scratch cần dùng
Events: when flag clicked – bắt đầu chương trình.
Control: repeat, if…else, wait (seconds) – lặp và điều kiện.
Operators: mod, + , – , × , ÷ – tính toán số vị trí và màu.
Variables: set [count v] to (0), change [count v] by (1) – đếm chữ cái, màu sắc.
Sensing: ask [Nhập số vị trí:] and wait – nhận đầu vào từ người học.
Looks: say [Kết quả: …] for (2) seconds – hiển thị kết quả.
Data (tùy chọn): list – lưu chuỗi “toquocvietnam” để truy xuất từng ký tự.
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!