Hoạt động 1. Trò chơi đoán số
Giả sử em cần xây dựng một trò chơi trên máy tính. Trong trò chơi, em cần tìm một số bí mật mà máy tính đã lấy ngẫu nhiên trong khoảng từ 1 đến 100. Em được đoán nhiều lần cho đến khi đoán đúng số bí mật đó. Mỗi lần em đoán sai, máy tính sẽ cho em biết số em đoán là nhỏ hơn hay lớn hơn số bí mật. Em hãy mô tả kịch bản của trò chơi đó dưới dạng một thuật toán.
Hướng dẫn trả lời:
Câu hỏi 1. Cấu trúc lặp nào sau đây không được cho trước trong các nhóm lệnh của Scrath?
A. Lặp một khối lệnh với so lần định trước.
B. Lặp một khối lệnh vô hạn lần.
C. Lặp với điều kiện được kiểm tra trước khi thực hiện khối lệnh.
D. Lặp với điều kiện được kiểm tra sau khi thực hiện khối lệnh.
Hướng dẫn trả lời:
Chọn C. Lặp với điều kiện được kiểm tra trước khi thực hiện khối lệnh.
Câu hỏi 1. Em hãy ghép mỗi đoạn lệnh ở hàng trên với kết quả tương ứng mà đoạn lệnh đó vẽ ở hàng dưới trong Bảng 14.1.
Hướng dẫn trả lời:
Câu hỏi 1. Em hãy ghép các khối lệnh a, b, c, d vào các vị trí tương ứng 1, 2, 3, 4 ở Hình 14.8 để được thuật toán giải phương trình ax + b = 0 trong ngôn ngữ lập trình Scratch với các giá trị a, b nhập từ bàn phím.
Hướng dẫn trả lời:
Thuật toán giải phương trình ax + b = 0
- Bằng liệt kê tuần tự
Bước 1: Nhập hai số thực a, b
Bước 2. Nếu a = 0
Bước 2.1. Nếu b ≠0 thì thông báo phương trình vô định, rồi kết thúc;
Bước 2.2. Nếu b = 0 thì gán x
Bước 3: x
Bước 4. Đưa ra nghiệm x, rồi kết thúc.
- Sơ đồ khối:
Đề xuất các test tiêu chuẩn
Để xét tất cả các trường hợp có thể xảy ra, ta sử dụng ba bộ test như sau:
i) a = 0, b = 1 (kiểm tra trường hợp phương trình vô định);
ii) a = 0,b = 0 (kiểm tra trường hợp nghiệm x=0);
iii) a = 3, b = 6 (kiểm tra trường hợp nghiêm , y = -b/a).
Câu hỏi 2. Ước chung lớn nhất của hai số không thay đổi nếu thay số lớn bằng phần dư trong phép chia của nó cho số bé. Dựa trên nhận xét đó, ước chung lớn nhất của hai số không âm có thể được tính theo thuật toán được biểu diễn bằng sơ đồ khối trong Hình 14.9. Em hãy ghép các khối lệnh Scratch trong Hình 14.10 thành chương trình tính ước chung lớn nhất của hai số nguyên không âm.
Hướng dẫn trả lời:
1. Đặt a (chưa lấy dư)
2. Đặt b (chưa lấy dư)
3. Lặp lại cho đến khi a+b = 0
4. Nói a+b trong 5s
5. Hỏi a = và đợi
6. Hỏi b = và đợi
7. Nếu a> b thì....