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.
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.
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;)
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;
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;
a) Vòng lặp while thực hiện 5 vòng lặp:
Vòng thứ nhất s=0 => n=1, s=1;
Vòng thứ hai s=1 => n=2, s=3;
Vòng thứ ba s=3 => n=3, s=6;
Vòng thứ tư s=6 => n=4, s=10;
Vòng thứ năm s=10 => n=5, s=15 kết thúc vòng lặp.
=> Vòng while sẽ kết thúc khi giá trị của s thay đổi không đáp ứng điều kiện tiếp tục vòng.
b) Vòng lặp while thực hiện vô hạn lần.
=> Giá trị của s luôn thỏa mãn điều kiện tiếp tục vòng while vì trong vòng while không thấy sự thay đổi của biến s (s luôn bằng 0 bé hơn 10).
Đoạn chương trình 1:
j=7
k=10
Đoạn chương trình 2:
j=7
k=28
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