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ãy nhập câu hỏi của bạn vào đây, nếu là tài khoản VIP, bạn sẽ được ưu tiên trả lời.
![](https://rs.olm.vn/images/avt/0.png?1311)
program DoanSo;
uses crt;
var
low, high, guess, answer: integer;
response: char;
begin
clrscr;
low := 1;
high := 120;
writeln('Chon mot so tu 1 den 120 va ghi so do ra giay.');
writeln('Nhan phim bat ky khi san sang.');
readln;
repeat
guess := (low + high) div 2; // Đoán số trung bình của khoảng
writeln('So cua ban la ', guess, ' phai khong? (d/c/t)');
readln(response);
// Kiểm tra phản hồi từ người chơi
case response of
'd': begin // Trường hợp đoán đúng
writeln('May tinh da doan dung so cua ban!');
end;
'c': begin // Trường hợp số đoán cao hơn
high := guess - 1;
end;
't': begin // Trường hợp số đoán thấp hơn
low := guess + 1;
end;
end;
until response = 'd'; // Lặp cho đến khi đoán đúng
readln;
end.
( Các phần câu in đậm là các phần mình giải thích về code cho bạn dễ hiểu, không cần cho thiết nên khi chạy chương trình không cần nhé ! )
![](https://rs.olm.vn/images/avt/0.png?1311)
Theo kịch bản, trò chơi sẽ thông báo số lần đoán khi người chơi đoán đúng số bí mật. Tuy nhiên, khi chạy thử chương trình, em sẽ thấy số lần đoán mà máy tính hiển thị luôn kém số lần thực tế mà người chơi đã đoán một đơn vị.
![](https://rs.olm.vn/images/avt/0.png?1311)
Này các bạn phải quan sát, liên tưởng ghi nhớ tiếp xúc với các bạn trong lớp đủ nhiều, đủ hiểu để chơi hi.
Bắt đầu
Gán cho số bí mật một giá trị ngẫu nhiên trong khoảng từ 1 - 100
Hỏi và nhận giá trị từ bàn phím, lưu vào biến trả lời
Hiển thị số bí mật trong 2 giây
Hiển thị số trả lời trong 2 giây
Kết thúc