Ở bài trước em đã biết cấu trúc rẽ nhánh nếu - thì, nếu - thì - không thì trong thuật toán và được thể hiện bằng khối lệnh if - then, if - then - else trong Scratch. Em có biết cấu trúc lặp trong thuật toán được thể hiện bằng khối lệnh nào trong Scratch không?
Hướng dẫn trả lời:
Cấu trúc lặp trong Scratch:
Lặp với số lần biết trước:
repeat <Số lần lặp>
<Câu lệnh>.
Lặp với số lần chưa biết trước:
repeat until <Điều kiện dừng lặp>
<Câu lệnh>.
1. Lặp với số lần biết trước
Câu hỏi: Làm việc cùng với bạn, thực hiện ghép nối mỗi mô tả thuật toán ở cột bên trái với một đoạn chương trình Scratch tương ứng ở cột bên phải trong Bảng 3.
Bảng 3. Mô tả thuật toán và đoạn chương trình Scratch tương ứng
Mô tả thuật toán | Đoạn chương trình Scratch |
1) Lặp 5 lần - Chú mèo di chuyển 10 bước - Chú mèo kêu "meo". - Hiển thị kết quả trong 1 giây. | a) |
2) Lặp N lần - Nhập một số từ bàn phím. - Tổng = Tổng + số được nhập từ bàn phím. | b) |
3) Lặp 10 lần - Nhập một số từ bàn phím. - Nếu là số chia hết cho 2 thì Đếm = Đếm + 1 - Thông báo số lượng số chia hết cho 2. | c) |
Hướng dẫn trả lời:
1 - c, 2 - a, 3 - b.
2. Lặp với số lần chưa biết trước
Câu hỏi: Làm việc cùng với bạn, thực hiện ghép nổi mỗi mô tả thuật toán ở cột bên trái với đoạn chương trình Scratch tương ứng ở cột bên phải.
Bảng 6. Mô tả thuật toán và đoạn chương trình Scratch tương ứng
Mô tả thuật toán | Đoạn chương trình Scratch |
1) Lặp cho đến khi chạm vào con trỏ chuột - Di chuyển 10 bước. - Xoay nhân vật 90o ngược chiều kim đồng hồ. | a) |
2) Lặp lại cho đến khi chú mèo chạm vào cạnh của sân khấu. - Chú mèo di chuyển 10 bước và kêu "meo". - Hiển thị kết quả trong 1 giây. | b) |
3) Lặp lại cho đến khi người dùng nhập đúng tổng hai số a và b (a, b là hai số nguyên dương bất kì trong khoảng từ 1 đến 50). - Biến a nhận giá trị ngẫu nhiên từ 1 đến 50. - Biến b nhận giá trị ngẫu nhiên từ 1 đến 50. - Người dùng nhập kết quả tổng a + b từ bàn phím. | c) |
Hướng dẫn trả lời:
1 - c, 2 - a, 3 - b.
Câu hỏi 1: Hãy ghép lệnh, khối lệnh ở cột bên phải theo thứ tự đúng để điều khiển máy tính thực hiện thuật toán ở cột bên trái.
Bảng 7. Tính tổng S của N số nhập từ bàn phím
Thuật toán | Lệnh, khối lệnh Scratch |
Bước 1. Nhập số nguyên dương N (là số lượng các số sẽ được nhập từ bàn phím). | |
Bước 2. Khởi tạo giá trị ban đầu cho biến S là 0. | |
Bước 3. Khởi tạo giá trị ban đầu cho biến i là 0. | |
Bước 4. Lặp N lần: 4.1 Thay giá trị của biến i = i + 1. 4.2 Nhập số X từ bàn phím. 4.3 Thay giá trị của biến S = S + X. | |
Bước 5. Thông báo kết quả ra màn hình rồi kết thúc. |
Hướng dẫn trả lời:
Bước 1: c).
Bước 2: a).
Bước 3: e).
Bước 4: d).
Bước 5: b)
Câu hỏi 2: Hãy ghép lệnh, khối lệnh ở cột bên phải theo thứ tự đúng để thực hiện thuật toán ở cột bên trái.
Bảng 8. Tính tổng các số nhập từ bàn phím cho đến khi tổng lớn hơn 100
Thuật toán | Lệnh, khối lệnh Scratch |
Bước 1. Khởi tạo giá trị ban đầu cho biến S là 0. | |
Bước 2. Nếu (S ≤100) thì: 2.1 Nhập giá trị của X. 2.2 Thay giá trị của biến S = S + X. 2.3 Quay về Bước 2. | |
Bước 3. Thông báo tổng S rồi kết thúc. |
Hướng dẫn trả lời:
Bước 1: c).
Bước 2: b).
Bước 3: a).
Câu hỏi 1: Tạo chương trình ở Bảng 7 trong Scratch, thực hiện chương trình.
Hướng dẫn trả lời:
Câu hỏi 2: Tạo chương trình ở Bảng 8 trong Scratch, thực hiện chương trình.
Hướng dẫn trả lời:
Câu hỏi 3: Tạo chương trình Scratch để đưa ra ước số chung lớn nhất (ƯCLN) của 2 số nguyên dương a, b được nhập từ bàn phím (xem gợi ý ở Bảng 9).
Bảng 9. Thuật toán tìm ước chung lớn nhất của 2 số nguyên dương a, b
Bước 1. Nhập số nguyên dương a, b. Bước 2. Nếu a = b thì lấy giá trị a làm ƯCLN rồi chuyển đến bước 5. Bước 3. Nếu a > b thì thay a = a – b, ngược lại thay b = b - a. Bước 4. Quay lại bước 2. Bước 5. Đưa ra kết quả ƯCLN rồi kết thúc. |
Hướng dẫn trả lời:
Câu hỏi: Hãy tạo chương trình Scratch thực hiện việc nhập chiều cao của các bạn trong tổ em, tính chiều cao trung bình của cả tổ và in kết quả ra màn hình.
Hướng dẫn trả lời: