Bài 7 CÂU LỆNH LẶP

1. Các công việc phải thực hiện nhiều lần.
- Trong cuộc sống có rất nhiều công việc phải thực hiện lặp lại nhiều lần.
- Có 2 loại hoạt động lặp:
+ Lặp với số lần biết trước: đánh răng mỗi ngày 2 lần (hoạt động lặp: đánh răng, số lần lặp: 2 lần); ăn cơm ngày 3 bữa; chạy 5 vòng quanh nhà thi đấu.
+ Lặp với số lần chưa biết trước: Quét nhà cho đến khi sạch (hoạt động lặp: đưa chổi quét nhà, số lần lặp: chưa biết bao nhiêu lần, khi nào sạch nhà mới dừng lại); học bài cho đến khi thuộc; cánh quạt quay mãi cho đến khi ngắt nguồn điền howcj qutj hỏng; ...
VD: Viết chương trình ghi nhận các vị trí của một quả trứng rơi từ trên cao xuống, ta lặp lại nhiều lần câu lệnh như sau:
uses crt;
var i:integer;
Begin
clrscr;
writeln(` O `); delay(100); {10 lan}
writeln(` O `); delay(100);
writeln(` O `); delay(100);
writeln(` O `); delay(100);
writeln(` O `); delay(100);
writeln(` O `); delay(100);
writeln(` O `); delay(100);
writeln(` O `); delay(100);
writeln(` O `); delay(100);
writeln(` O `); delay(100);
Readln;
End.
2. Câu lệnh lặp – một lệnh thay cho nhiều lệnh
Vd1: Thuật toán mô tả các bước để vẽ hình vuông.
Bước 1: k ← 0 (k là số đoạn thẳng đã vẽ được).
Bước 2: k ← k+1. Vẽ đoạn thẳng 1 đơn vị độ dài và quay thước 900 sang phải.
Bước 3: Nếu k<4 thì quay lại bước 2;
Bước 4: kết thúc.
3. Ví dụ về câu lệnh lặp.
For := To Do ;
* 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 , tăng biến đếm lên 1 đơn vị và quay lại Bc2. Ngược lại thực hiện 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 đó
nguon VI OLET