– Trong Pascal câu lệnh lặp với số lần chưa biết trước có dạng:
while <điều kiện> do <câu lệnh><câu nh=””>;</câu>
– Trong đó:
Điều kiện thường là một phép so sánh;
Câu lệnh có thể là câu lệnh đơn giản hay câu lệnh ghép.
– Câu lệnh lặp này được thực hiện như sau:
Bước 1: Kiểm tra điều kiện.
Bước 2: Nếu điều kiệnSAI, câu lệnh sẽ bị bỏ qua và việc thực hiện lệnh lặp kết thúc. Nếu điều kiện đúng, thực hiện câu lệnh và quay lại bước 1.
Ví dụ 3:
While a<=b do a:=a+1;
– Trong đó:
While, do là các từ khóa.
Điều kiện là a<=b (chứa phép so sánh).
Câu lệnh là a:=a+1 (câu lệnh đơn).
Ví dụ 4:
While a>b do
Begin
write(‘a>b’);
a:=a-1;
End;
– Trong đó:
while, do là các từ khóa.
Điều kiện lặp là a > b (chứa phép so sánh).
Câu lệnh là Write(‘a>b’) và a:=a-1 (câu lệnh ghép).
Ví dụ 5:
– Yêu cầu: Dùng câu lệnh lặp While … Do để viết chương trình thể hiện thuật toán trong Ví dụ 2
var S,n: integer;
Begin
S:=0;
n:=0;
while S<=1000 do begin
n:=n+1;
S:=S+n;
end;
write(‘Tong S= ’,S,‘ va ’,n,’ la so tu nhien nho nhat sao cho S>1000’);
Readln;
End.
Ví dụ 6:
– Yêu cầu: Với giá trị nào của n (n>0) thì1n\frac{1}{n}n1 nhỏ hơn 1 sai số cho trước ví dụ: 1n<0,005\frac{1}{n}< 0,005n1<0,005 hoặc1n<0,003\frac{1}{n}< 0,003n1<0,003?
uses crt;
var x: real; n: integer;
const sai_so=0.003;
begin
clrscr;
x:=1; n:=1;
while x>=sai_so do
begin
n:=n+1;
x:=1/n;
end;
writeln(‘So n nho nhat de 1/n < ‘,sai_so:5:4, ‘la ‘,n);
Cấu trúc:
while <điều kiện> do <câu lệnh>;
Hoạt động: Trong khi điều kiện còn đúng thì thực hiện câu lệnh.
– Trong Pascal câu lệnh lặp với số lần chưa biết trước có dạng:
while <điều kiện> do <câu lệnh><câu nh=””>;</câu>
– Trong đó:
– Câu lệnh lặp này được thực hiện như sau:
Ví dụ 3:
While a<=b do a:=a+1;
– Trong đó:
Ví dụ 4:
While a>b do
Begin
write(‘a>b’);
a:=a-1;
End;
– Trong đó:
Ví dụ 5:
– Yêu cầu: Dùng câu lệnh lặp While … Do để viết chương trình thể hiện thuật toán trong Ví dụ 2
var S,n: integer;
Begin
S:=0;
n:=0;
while S<=1000 do begin
n:=n+1;
S:=S+n;
end;
write(‘Tong S= ’,S,‘ va ’,n,’ la so tu nhien nho nhat sao cho S>1000’);
Readln;
End.
Ví dụ 6:
– Yêu cầu: Với giá trị nào của n (n>0) thì 1n\frac{1}{n}n1 nhỏ hơn 1 sai số cho trước ví dụ: 1n<0,005\frac{1}{n}< 0,005n1<0,005 hoặc 1n<0,003\frac{1}{n}< 0,003n1<0,003?
uses crt;
var x: real; n: integer;
const sai_so=0.003;
begin
clrscr;
x:=1; n:=1;
while x>=sai_so do
begin
n:=n+1;
x:=1/n;
end;
writeln(‘So n nho nhat de 1/n < ‘,sai_so:5:4, ‘la ‘,n);
readln;
end.