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) 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).
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) 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.
Program câu 1;
Var n: Integer; s:real;
Begin
Writeln(‘ Nhap gia tri n=’); Readln(n);
S:=0;
While n<0 do
begin
s:=s+n/2; n:=n-1;
end;
write(‘tong s = ‘, s:8:2);
Readln;
End.
Lỗi sai:
Program câu 1; -> Tên chương trình không chứa dấu cách trắng.
-> Sửa: Program cau_1;
Writeln(‘ Nhap gia tri n=’); Readln; -> Nhập giá trị cho n nhưng thiếu lệnh đọc n
-> Sửa:
Writeln(‘ Nhap gia tri n=’); Readln(n);
While n >0 do
s:=s+n/2; n:=n-1;
Cả 2 câu lệnh s:=s+n/2; n:=n-1; đều nằm trong vòng lặp while..do nên cần begin...end con.
-> Sửa
While n >0 do
begin
s:=s+n/2; n:=n-1;
end;
1.While...do :lặp với số lần chưa biết trước
For....do : lặp với số lần đã biết trước
2.Sau khi thực hiện đoạn chương trình thì S=15
Bài 1: S=15
Bài 2: S=17
Bài 3:
1)X:=10; while X:=10 to X:(thiếu dấu '=') X+5;
2) X:=10; while X = 10 do X(thiếu dấu ';') =X+5 (thiếu dấu ';')
3) S:=0; n:=0; while S <= 10 do (thiếu 'begin') n:(thiếu dấu '=')n+1 ,(để kết thúc đoạn lệnh dùng dấu ';' không phải dấu ',') S:= S+n; (thiếu end;)
Sửa:
S:=0;n:=0;
while s<=10 do
Begin
n:=n+1;
s:=s+n;
End;