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.
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
Tham khảo:
1. Theo kịch bản, biến số lần đoán sẽ thay đổi trong tình huống nào?
Lỗi được thẻ hiện ở việc chương trình hiển thị sai giá trị của số lần đoán.
2. Những khối lệnh nào làm thay đổi biến số lần đoán?
Số lần đoán cần phải tăng 1 đơn vị mỗi khi người chơi nhập một giá trị số (đoán). Điều này xảy ra ở các câu lệnh (4). (7) và (8).
Tuy nhiên, có thể thấy rằng, mặc dù (9) tăng giá trị của số lần đoán sau khi (7) hoặc (8) được thực hiện, nhưng không có lệnh nào như thế sau khối lệnh (4) cả
3. Có điều gì khác nhau giữa kịch bản và những khối lệnh tương ứng?
a. Tập trung vào những khối lệnh trực tiếp gây ra lỗi và những khối lệnh liên quan lôgic đến nó theo các cấu trúc điều khiển.
b. Chạy chương trình từng bước, kết hợp theo dõi sự thay đổi của các biến, các giá trị đầu ra và so sánh với các giá trị tính được theo cách thủ công.
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é ! )
Tham khảo:
Khi chạy thử, em nhận ra rằng chương trình vẫn hoạt động vì máy tính vẫn hỏi và trả lời theo sự điều khiển của các khối lệnh. Tuy nhiên nó thực hiện không đúng kịch bản vì số lần đoán được hiển thị không đúng với số lần thực tế mà người chơi đã đoán.
Có hai loại lỗi:
1) Lỗi cú pháp xảy ra khi lệnh viết sai so với quy tắc của ngôn ngữ lập trình, làm cho chương trình không hoạt động:
2) Lỗi lôgic (hay lỗi ngữ nghĩa) xảy ra khi các câu lệnh trong chương trình tuy được viết đúng cú pháp nhưng thực hiện không đúng kịch bản như trong chương trình của trò chơi Đoán số.
Bạn ơi, Pascal ko hỗ trợ di chuyển bằng chuột máy tính(trừ khi dùng Graph, nhưng mình đoán 99% các mod trên đây ko ai biết dùng Graph đâu)
Nếu dùng WASD thì có thể, nhưng nếu vậy thì bài này nên đưa lên bài lớp 11 thì hơn
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ị.