- Mô hình Internet Mail: Là mô hình liên kết cách ộp thư lưu trên Internet, mỗi hộp thư
a. Lệnh lặp với ựiều kiện trước
Ớ Dạng lệnh:
WHILE <ựiều kiện> DO <Lệnh>;
ý nghĩa:
Khi gặp câu lệnh này, trước tiên máy sẽ kiểm tra <ựiều kiện>. Nếu <ựiều kiện> có giá trị ựúng (TRUE) thì <Lệnh> ựược thực hiện. Thực hiện xong lệnh này máy sẽ quay lại kiểm tra <ựiều kiện> ựể thực hiện <Lệnh>... quá trình tiếp diễn ựến khi <ựiều kiện> sai thì dừng. Sơựồ
Ớ Vắ dụ:
VD1: Một người gửi tiết kiệm không kì hạn với số tiền ban ựầu là A ựồng Hỏi sau bao nhiêu
tháng người ựó thu ựược số tiền là B ựồng, biết rằng lãi suất là 1.8%? <Lỷnh>
<ậiÒu kiỷn> Sai
Phân tắch bài toán: Ta biết rằng gửi tiết kiệm không kì hạn thì số tiền thu ựược sau mỗi tháng
sẽ bằng số tiền tháng trước cộng với lãi của tháng ựó. Nếu gọi S là số tiền thu ựược sau mỗi
tháng, t là số tháng gửi, ls là lãi suất thì ta có: nếu t=0 --> S0=A (gửi 0 tháng) nếu t=1 --> S1=S0 +S0*ls (gửi 1 tháng) nếu t=2 --> S2= S1 +S1*ls (gửi 2 tháng) ...
đây chắnh là quy luật ựể thực hiện vòng lặp tắnh số tiền thu ựược. Như vậy ta phải so sánh số
tiền thu ựược S sau mỗi tháng với số tiền cần ựạt B: nếu S ựạt hoặc vượt B thì ta có kết luận
của bài toán. đây cũng là ựiều kiện dừng vòng lặp. Ta sẽ sử dụng một biến ựếm t ựể ựếm số
lần thực hiện lặp, cũng chắnh là số tháng gửi. Chương trình ựược viết như sau:
Program Gui_tiet_kiem; Const ls=0.018; Var A,B,S:real; t:integer; Begin Clrscr;
Write('Cho biet so tien gui ban dau:'); Readln(A);
Write('Cho biet so tien can dat :'); Readln(B); S:=A; t:=0; WHILE S<B DO begin S:=S+S*ls; t:=t+1; end;
Writeln(' Ban can gui it nhat la ', t, ' thang'); Readln;
End.
VD2: Ta có thể viết lại chương trình tắnh tổng S=1+2+...+n sử dụng lệnh lặp WHILE... DO... như sau:
Program Tinh_tong1; Var i,n:integer;
S:real; Begin
Write('Cho biet gia tri cua n:'); Readln(n); S:=0; i:=1; While i<= n do begin S:=S+i; i:=i+1; end;
Writeln(' Tong tinh duoc la S:',S:10:2); End.
Như vậy ta có thể dùng lệnh lặp có số bước lặp không xác ựịnh ựể thay cho lệnh lặp có số
bước lặp xác ựịnh. Tuy nhiên khi ựó biến ựiều khiển vòng lặp không tự ựộng thay ựổi mà ta
phải ựưa nó vào thân vòng lặp (biến i trong VD trên).