Đổi vai trò máy tính và người chơi trong trò chơi Đoán số. Em chọn một số nguyên trong khoảng từ 1 đến 120 và viết số đó ra giấy. Máy tính sẽ hiển thị một số mà em phải trả lời bằng các phím “d', ”c” hoặc ”t' tương ứng với tình huống số máy tính hiển thị đúng, cao hơn hay thấp hơn số em đã chọn.
Hãy viết chương trình để sau một số bước càng ít càng tốt, máy tính tìm ra số em đã chọn. Chạy thử, phát hiện và sửa các lỗi của chương trình đó.
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é ! )