btvn.vn
Tìm kiếm Đăng nhập

Tuần tự, rẽ nhánh và lặp trong trò đoán số

Lưu trên thiết bị này
Thuật toán và lập trình · Chọn bài khác

Khởi tạo và hỏi trước khi so sánh

Trò đoán số bắt đầu bằng việc máy chọn một số bí mật từ 1 đến 100, rồi hỏi để nhận số đoán. Đó là các bước **tuần tự**: chọn số trước, hỏi sau, so sánh khi đã có hai giá trị. Trong Scratch, khối **trả lời/answer** giữ câu vừa nhập; dự án BTVN chép giá trị đó vào biến `so_doan` để tiện nhìn khi kiểm thử. Nếu đặt lệnh so sánh trước câu hỏi, kết quả sẽ dựa vào giá trị cũ hoặc chưa được nhập.

Bài luyện

Ở đầu một lượt chơi mới, thứ tự nào cho phép so sánh số đoán với số bí mật vừa chọn?
Chọn một đáp án

Rẽ nhánh theo kết quả so sánh

Nếu `so_doan < so_bi_mat`, thông báo “còn thấp”; nếu số đoán lớn hơn, thông báo “còn cao”. Trước hai nhánh gợi ý, cần kiểm tra **bằng nhau** để dừng khi trúng. Khi đã biết số đoán **không bằng** số bí mật, một nhánh `<` và nhánh còn lại đủ phân biệt thấp/cao. Đây là cấu trúc rẽ nhánh: chỉ phần ứng với điều kiện thực tế được thực hiện.

Bài luyện

Số bí mật là 64, số vừa đoán là 71 và chưa chạm giới hạn lượt. Thông báo nào đúng?
Chọn một đáp án

Lặp đến khi điều kiện dừng đúng

Khối **lặp đến khi/repeat until** trong Scratch kiểm điều kiện trước mỗi lượt lặp: nếu điều kiện đã đúng, thân lặp không chạy thêm. Với trò không giới hạn lượt, dừng khi `so_doan = so_bi_mat`. Với bản giới hạn bảy lượt của bài sau, dừng khi **đoán đúng hoặc đã đủ 7 lượt**. Khối **lặp n lần/repeat** phù hợp khi đã biết trước số lượt, như vẽ n cạnh; khối **mãi mãi/forever** chỉ dừng khi có cơ chế dừng khác.

Bài luyện

Sau câu hỏi đầu, số đoán đã bằng số bí mật. Khối `lặp đến khi so_doan = so_bi_mat` làm gì tiếp?
Chọn một đáp án

Bài luyện

Cần vẽ đúng 6 cạnh, mỗi cạnh một lượt đi–quay. Khối lặp nào phù hợp nhất?
Chọn một đáp án

Đang học