Nâng cao · Mức D · Bài 5
Máy đoán số bằng cách chia đôi
Mục tiêu: Người chơi nghĩ một số từ 1 đến 100, máy đoán ra trong tối đa 7 lần bằng cách luôn đoán số ở giữa.
Em sẽ học gì
- Nội dung trong bài: thuật toán chia đôi. Luôn đoán số ở giữa, để mỗi lần loại bỏ một nửa khả năng.
- Hai biến thap và cao giữ khoảng tìm kiếm, và thu hẹp dần.
- Và so sánh với cách đoán lần lượt từng số.

139
Bài làm như sau. Chọn nhóm Biến số, bấm Tạo một biến, đặt tên là thap: số nhỏ nhất còn có thể. Tạo biến cao: số lớn nhất còn có thể. Biến doan: số máy đang đoán. Và biến dem: đếm số lần đoán.

Thuật toán: thap = 1, cao = 100. Lặp cho đến khi đoán đúng: doan = số ở giữa thap và cao. Số cần tìm lớn hơn thì thap = doan + 1; nhỏ hơn thì cao = doan − 1.
239
Sơ đồ khối ở khung bên phải. Đầu tiên: thap bằng 1, cao bằng 100, dem bằng 0, rồi chờ người chơi nghĩ số. Vòng lặp chạy cho đến khi người chơi trả lời dấu bằng. Mỗi lần: doan là số ở giữa, dem tăng 1, rồi hỏi. Trả lời lớn hơn thì thap bằng doan cộng 1. Trả lời nhỏ hơn thì cao bằng doan trừ 1. Khi đoán đúng, vòng lặp dừng, máy nói số lần đoán.
