3. Ví dụ về câu lệnh lặp.
For <biến đếm>:= <giá trị đầu> To <giá trị cuối> Do <câu lệnh>;
* Trong đó:
- for, to, do: là các từ khóa
- biến đếm: là biến đơn có kiểu nguyên;
- giá trị đầu và giá trị cuối là các biểu thức có cùng kiểu với biến đếm và giá trị cuối phải lớn hơn giá trị đầu;
- câu lệnh: có thể là câu lệnh đơn giản hay câu lệnh ghép
- Số lần lặp: gtri cuối – gtri đầu + 1.
* ý nghĩa hoạt động:
Bc1: biến đếm:=giá trị đầu
Bc2: Kiểm tra biến đếm < gí trị cuối
Bc3: N ếu Đúng thì thực hiện <câu lệnh>, tăng biến đếm lên 1 đơn vị và quay lại Bc2. Ngược lại thực hiện <câu lệnh> lần cuối và thoát khỏi For..Do
* Ví dụ: For k:=1 to 4 do “Vẽ đt 20cm và quay phải 90o”;
Vd 1: Chuong trình in ra màn hình thứ tự lần lặp.
var i:integer;
begin
for i:= 1 to 20 do
writeln(‘Day la lan lap thu’,i);
readln;
end.
*Lưu ý: Câu lệnh có sử dụng câu lệnh ghép thì phải đặt trong hai từ khóa begin … end.
Vd2: chương trình ghi nhận vị trí 10 chữ O rơi từ trên xuống.
ues crt;
var i:integer;
begin
clrscr;
for i:= 1 to 20 do
begin
writeln(‘O’);
delay(200);
end;
readln;
end.
4/ Tính tổng và tích bằng câu lệnh lặp
Vd 1: chương trình tính tổng N số tự nhiên đầu tiên, với N là số tự nhiên được nhập từ bàn phím.
S = 1+2+3+ … + N
Thuật toán:
- B1: S ! 0, iß 0.
- B2: i ! i+1.
- B3: Nếu i<=n, thì S !S+i và quay lại B2.
- B4: Thông báo kết quả và kết thúc thuật toán.
Đoạn chương trình tính tổng:
S:= 0;
for i:= 1 to N do S:= S+i;
writeln(‘Tong cua’, N, ‘so tư nhien dau tien S = ‘, S);
Vd 2: chương trình tính tích N số tự nhiên, với N là số tự nhiên được nhập từ bàn phím.
N! = 1.2.3….N
program Tinh_Giai_Thua;
GV: Dựa vào điểm giống khác nhau đó hãy xây dựng chương trình cho Vd2.
P:= 1;
for i:= 1 to N doP:= P*i;
writeln( N, ‘! = ‘, P);