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ài 1:
a) Câu lệnh While i:=1 do sai.
Sai ở chỗ i:=1(vì có dấu gán)
b) Câu lệnh While a<=b; do sai
Sai ở chỗ có dấu chấm phẩy trước chữ do
Câu lệnh write('b khong nho hon a); sai
Sai ở chỗ vì thiếu dấu ' sau chữ a
c) Câu lệnh While 1=1 do sai
Vì nếu như vậy đây sẽ là vòng lặp vô hạn(vì 1 luôn bằng 1)
Câu lệnh write('Toi lap trinh gioi); sai
Sai ở chỗ thiếu dấu ' sau chữ gioi
d) Câu lệnh sum:=sum+1; i:=i+1; sai
Vì nguyên tắc là sau lệnh While(hoặc lệnh For) thì nếu làm nhiều câu lệnh thì phải bao bọc trong Begin End
Bài 2:
uses crt;
var a,b:real;
begin
clrscr;
repeat
write('a='); readln(a);
if a<=0 then writeln('vui long nhap lai a');
until a>0;
repeat
write('b='); readln(b);
if b<=0 then writeln('vui long nhap lai b');
until b=0;
writeln('dien tich hinh chu nhat la: ',a*b:4:2);
readln;
end.
a) không vì i:=1 ko phải là điều kiện thực hiện bằng phép so sánh
b) không vì trong câu lệnh while..do ko có ;
Câu lệnh a không hợp lệ vì i:=1 không phải là điều kiện trong phép so sánh
Câu lệnh b không hợp lệ vì có dấu ; trước chữ do
Không có câu nào đúng.
A. Đúng theo cách trình bày nhưng thiếu dẫn đến vòng lặp vô hạn. Phải ghép 2 câu lệnh sau do lại bằng begin ... end;.
B. Sai vè sau while lại là 1 phép gán S:=10
C. Sai, vì sau do câu lệnh lại là 1 điều kiện a=b. Và đây cũng là 1 vòng lặp vô hạn
a.for i:=1 to 10;do x:=x+1;
-> lệnh sai vì sau "to 10" không có dấu ';'
For<biến đếm > := <giá trị đầu> to <giá trị cuối> do <câu lệnh>;
Sửa lại:for i:=1 to 10 do x:=x+1;
b.for i:=10 to 1 do x:=x+1;
-> lệnh sai vì for i:=10 to 1 giá trị đầu phải nhỏ hơn giá trị cuối(10>1) nên không lặp được.
Sửa for i:=1 to 10 do x:=x+1;
c.while i:=1 do t=10;
-> lệnh sai phép gán giá trị cho biến VD: x:=1
t=10(sai) thiếu dấu ':'
Sửa lại:
while i:=1 do t:=10;
d.while a<=b;do write('b lon hon a');
-> lệnh sai vì Sau While a<=b không có ';'(While <điều kiện> do <câu lệnh>)
Sửa lại:
while a<=b do write('b lon hon a');
a) Thừa dấu hai chấm trong điều kiện;
b) Thiếu dấu hai chấm trong câu lệnh gán;
c) Thiếu các từ khóa begin và end trước và sau các lệnh n:=n+1; S:=S+n, do đó vòng lặp trở thành vô tận.
A. Sai vì nếu có hai câu lệnh trở lên giữa "while...do" phải có "begin" và "end;".
B. Sai vì S luôn luôn bé hơn 10 (1<10) nên chương trình sẽ ghi S vô hạn ( trừ khi tắt chương trình ).
C.Sai vì n cũng giống lỗi câu B (2<5) nên cũng sẽ lặp vô hạn lần.
Không có câu nào đúng hết.
Câu lệnh a và c đúng
b