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)
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
![](https://rs.olm.vn/images/avt/0.png?1311)
B1: Trong các hoạt động sau đây hoạt động nào là hoạt động lặp với số lần chưa biết trước:
A. tính tổng các số tự nhiên từ 1 đến 20.
B. Nhập các số nguyên cho đến khi đủ 50 số
C. Mỗi ngày tập TD 2 lần
D. Nhập dữ liệu từ bàn phím cho đến khi nhập xong dữ liệu khi dừng
B2: Đoạn lệnh sau đây in ra kết quả gì?
s:=0; while s<10 do begin s:=s+1;
Writeln(s); end;
A. In ra các số từ 1 đến 9.
B. In ra các số từ 1 đến 10.
C. In ra các số 1.
D. Không có đáp án đúng.
B3: Hãy cho biết đâu là đoạn lệnh lặp bằng câu lệnh While...do để tính tổng S=1+2+...+10?
A. S:=0; while i<10 do S:=S+i;
B. S:=0; i:=0; while i<11 do begin S:=S+i; i:=i+1; end;
C. S:=0; i:=1; while i do S:=S+i; i:=i+1;
D. S:=0; i:=0; while i<=10 do begin S:=S+i; i:=i+1; end;
![](https://rs.olm.vn/images/avt/0.png?1311)
a) Lỗi: Dư dấu ; sau từ do
b) Lỗi: While i>20 then (sửa: While i>20 do)
c) Lỗi: B=B+2; (sửa: B:=B+2;)
d) Lỗi: dư dấu ; sau từ do
e) Lỗi: S=S*2; (sửa: S:=S*2;)
f) Lỗi: i:=1 (sửa: i:=1;)
![](https://rs.olm.vn/images/avt/0.png?1311)
a) X:= 5(;) while X <= 5(;) do X:= X + 5;
----> lỗi sai: Thừa 2 dấu ';' ở sau while và ở sau do (lỗi sai trong ngoặc)
----> sửa lại :X:= 5 while X <= 5 do X:= X + 5;
b) X= 10; while X = 10 do X:= X + 5;
----> lỗi sai : Sai lệnh gán X=10.
----> sửa lại : X:= 10; while X = 10 do X:= X + 5;
c) S:= 0; n:=0; while S <= 10 do S:=S + n ; n:=n+1;
Về cấu trúc không sai nhưng để như vậy sẽ thành vòng lặp vô hạn.
----> lỗi sai : thiếu begin ... end; ở sau câu lệnh lặp
----> sửa lại : S:= 0; n:=0; while S <= 10 do begin S:=S + n ; n:=n+1; end;
![](https://rs.olm.vn/images/avt/0.png?1311)
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.
![](https://rs.olm.vn/images/avt/0.png?1311)
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.