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.
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;
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).
uses crt;
var s,n:integer;
begin
clrscr;
s:=0;
n:=0;
while s<=50 do
begin
n:=n+1;
s:=s+n;
end;
writeln(n);
writeln(s);
readln;
end.
uses crt;
var n,i,t:integer;
begin
clrscr;
readln(n);
t:=0;
for i:=1 to n do t:=t+i;
writeln(t);
readln;
end.
Sửa:
S:=0;n:=0;
while s<=10 do
Begin
n:=n+1;
s:=s+n;
End;