Lưu ý: Khi thực hiện vòng lặp, While ….do cần xác định được điều kiện trong câu lệnh sau một số lần sẽ chuyển từ đúng sang sai để thoát khỏi vòng lặp.. Không rơi vào những “Vòng lặp vô t
Trang 1Ví dụ 4: Tính tổng T=1+2+3+… sao cho tổng T nhỏ nhất lớn
hơn 1000
Tính T=1+2+3+… sao cho tổng T nhỏ nhất lớn hơn 1000
T 0
T T+1
T T+2
T T+3
…
Cần cộng bao nhiêu số tự nhiên để được tổng T nhỏ nhất lớn hơn 1000?
Nếu i= 1, 2, 3,… thì tổng T được thay bằng lệnh gì?
Trang 2Ví dụ 4: Tính tổng T=1+2+3+… sao cho tổng T nhỏ nhất lớn
hơn 1000
Tính T=1+2+3+… sao cho tổng T nhỏ nhất lớn hơn 1000
T 0
T T+1
T T+2
T T+3
…
Ta sử dụng câu lệnh nào để giải quyết bài toán?
Điều kiện của lệnh lặp và câu lệnh là gì?
Trang 3Program vidu4;
Var T,n: integer;
Begin
T:=0; n:=0;
While T<=1000 do
Begin T:= T+n; n:= n+1 end;
Writeln ( ‘so n nho nhat de tong >1000 la’,n); Writeln (‘Tong dau tien >1000 la’,T);
Readln
End.
Trang 4Ví dụ 5:
Tính T= 1+ 1/2+ 1/3+…+ 1/100
T 0
T T+ 1/1
T T+ 1/2
T T+ 1/3
…
T T+1/100
Trang 5Ví dụ 5:
Program vidu5_1;
Var i: integer;
T: real;
Begin
T:=0;
For i:=1 to 100 do T:=T+1/i;
Writeln (‘Tong T= ‘,T:10:2);
Readln
End.
Trang 6Ví dụ 5:
Program vi_du5_2;
Var i: integer;
T: real;
Begin
T:=0;
i:=1;
while i<=100 do begin T:=T+1/i;
i:=i+1; end;
writeln(‘tong T=‘,T:10:2);
Readln
end
Trang 7Lưu ý: Khi thực hiện vòng lặp, While ….do cần xác định được
điều kiện trong câu lệnh sau một số lần sẽ chuyển từ đúng
sang sai để thoát khỏi vòng lặp Không rơi vào những “Vòng lặp vô tận”
- Trong vòng lặp While do điều kiện được kiểm tra trước khi thực hiện cậu lệnh, do đó có thể có trường hợp câu lệnh
không được thực hiện một lần nào