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

Dừng đúng khi đoán trúng hoặc hết bảy lượt

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

Hai lí do để kết thúc, một khối hoặc

Bản giới hạn chỉ cho đoán **nhiều nhất 7 lượt**. Sau khi nhận câu trả lời đầu, `so_luot = 1`. Trước lượt hỏi tiếp, khối **lặp đến khi** kiểm: `so_doan = so_bi_mat` **hoặc** `so_luot = 7`. Nếu một vế đúng, vòng lặp dừng. Dùng `so_luot > 7` là quá muộn vì có thể cho hỏi lượt thứ tám. Dùng khối **và** cũng sai: người chơi đoán đúng sớm mà chưa đến 7 lượt sẽ không dừng.

Bài luyện

Điều kiện dừng đúng cho trò tối đa 7 lượt là gì?
Chọn một đáp án

Dừng vòng lặp rồi mới xét thắng hay thua

Sau vòng lặp, **điều kiện thắng là `so_doan = so_bi_mat`**. Nếu không bằng, trò kết thúc vì hết bảy lượt và thông báo chưa trúng. Chỉ nhìn `so_luot = 7` để quyết định thua sẽ sai khi đoán đúng ở lượt thứ bảy: lúc đó cả hai điều kiện dừng đều đúng, nhưng người chơi vẫn thắng. Thông báo số lượt nên dùng khối **nối/join** để ghép chữ với biến đếm; khối cộng `+` là phép cộng số, không phải khối ghép câu.

Bài luyện

Người chơi đoán đúng ở lượt thứ bảy. Sau khi vòng lặp dừng, kết luận nào đúng?
Chọn một đáp án

Bài luyện

Sau sáu lượt đều sai, biến đếm bằng 6. Lượt tiếp theo cũng sai và biến thành 7. Chương trình đúng sẽ làm gì?
Chọn một đáp án

Bài luyện

Cần hiển thị `"Đúng sau 4 lượt."` bằng phần chữ và biến `so_luot = 4`. Khối nào dùng để ghép thông báo?
Chọn một đáp án

Thực hành ba trường hợp biên

**Nhiệm vụ:** mở dự án BTVN, chạy trò và đối chiếu bộ đếm với kết quả thắng/thua. **Dữ liệu:** tệp `g8-doan-so-bay-luot.sb3` do BTVN tạo. Số bí mật được Scratch lấy ngẫu nhiên từ 1 đến 100 mỗi ván. Để thử chủ động, có thể bật hiển thị biến `so_bi_mat` **trên bản sao dùng để kiểm**; khi chơi bình thường thì ẩn biến này để giữ bí mật. **Trình tự:** chạy và kiểm (1) trúng ngay lượt đầu, (2) sai sáu lần rồi trúng lượt thứ bảy, (3) sai cả bảy lượt. Sau mỗi câu hỏi, nhìn `so_luot` tăng một; sau câu thứ bảy không có câu thứ tám. Kiểm kết quả cuối dựa vào số đoán có bằng số bí mật hay không. **Kết quả mong đợi:** lần lượt là “Đúng sau 1 lượt.”, “Đúng sau 7 lượt.” và “Hết 7 lượt mà chưa đoán đúng.” Nếu báo thiếu một lượt, kiểm lệnh tăng sau câu hỏi đầu. Nếu trúng lượt bảy mà báo thua, kiểm nhánh kết quả có so sánh hai số hay chỉ xét bộ đếm.

Đang học