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 hằng ngày, nhiều hoạt động được thực hiện lặp đi
lặp lại nhiều lần.
Ví dụ:
1. Mỗi ngày học bài 2 lần.
2. Học bài cho đến khi thuộc.
3. Tôi đến trường mỗi ngày 2 lần.
4. Tôi ăn cơm đến khi no.
5. Tôi làm việc mỗi ngày 8h.
Đọc sgk
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.
Có những hoạt động mà chúng ta thường thực hiện lặp lại với một
số lần nhất định và biết trước, chúng ta còn lặp lại những công
việc với số lần không thể xác định trước.
Ví dụ: 1. Mỗi ngày học bài 2 lần.
2. Học bài cho đến khi thuộc.
3. Tôi đến trường mỗi ngày 2 lần.
4. Tôi ăn cơm đến khi no.
5. Tôi làm việc mỗi ngày 8h.
Hoạt động nào lặp lại
với số lần nhất định và
biết trước?
Lặp với số lần
không thể xác
định trước.
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.
Có những hoạt động mà chúng ta thường thực hiện lặp lại với một
số lần nhất định và biết trước, chúng ta còn lặp lại những công
việc với số lần không thể xác định trước.
Ví dụ:
1. Mỗi ngày học bài 2 lần.
2. Học bài cho đến khi thuộc.
3. Tôi đến trường mỗi ngày 2 lần.
4. Tôi ăn cơm đến khi no.
5. Tôi làm việc mỗi ngày 8h.
Để máy tính
Hãy
ví dụ
về
thựclấy
hiện
đúng
các
hoạt
động
lặp
công
việc,
ta cần
lại
vớiviết
số lần
phải
nhưnhất
thế
định vànào?
các hoạt
động lặp với số
lần chưa biết
trước?
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.
Có những hoạt động mà chúng ta thường thực hiện lặp lại với
một số lần nhất định và biết trước, chúng ta còn lặp lại những
công việc với số lần không thể xác định trước.
Ví dụ:
1. Mỗi ngày học bài 2 lần.
2. Học bài cho đến khi thuộc.
3. Tôi đến trường mỗi ngày 2 lần.
4. Tôi ăn cơm đến khi no.
5. Tôi làm việc mỗi ngày 8h.
Khi viết chương trình máy tính. Để chỉ dẫn cho máy tính
thực hiện đúng công việc, trong nhiều trường hợp ta cũng cần
phải viết lặp lại nhiều câu lệnh thực hiện một phép tính nhất
định.
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.
2.Câu lệnh lặp - một lệnh thay cho nhiều lệnh.
Ví dụ 1. Giả sử ta cần vẽ ba hình vuông có cạnh 1 đơn vị như
hình 33(SGK). Mỗi hình vuông là ảnh dịch chuyển của hình bên
trái nó một khoảng cách 2 đơn vị.
2 đơn vị
Vẽ hình
vuông thứ
2 theo
điều kiện
gì?
2 đơn vị
Ta chỉ cần lặp lại thao tác vẽ hình vuông
Thao tác
vẽ hình
vuông lặp
lại mấy
ba lần. lần?
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.
2.Câu lệnh lặp - một lệnh thay cho nhiều lệnh.
Ví dụ 1. Giả sử ta cần vẽ ba hình vuông có cạnh 1 đơn vị như hình 33(SGK).
Mỗi hình vuông là ảnh dịch chuyển của hình bên trái nó một khoảng cách 2
đơn vị.
Thuật toán :
2 đơn vị
2 đơn vị
1. Vẽ hình vuông (vẽ liên tiếp bốn cạnh và trở về đỉnh ban đầu).
2. Di chuyển bút vẽ về bên phải 2 đơn vị.
3. Vẽ hình vuông (vẽ liên tiếp bốn cạnh và trở về đỉnh ban đầu).
4. Di chuyển bút vẽ về bên phải 2 đơn vị.
5. Vẽ hình vuông (vẽ liên tiếp bốn cạnh và trở về đỉnh ban đầu).
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.
2.Câu lệnh lặp - một lệnh thay cho nhiều lệnh.
Ví dụ 1. Giả sử ta cần vẽ ba hình vuông có cạnh 1 đơn vị như hình 33(SGK).
Mỗi hình vuông là ảnh dịch chuyển của hình bên trái nó một khoảng cách 2
đơn vị.
Thuật toán :
2 đơn vị
2 đơn vị
Quan
Ta sát
cầncác
dịchthao
chuyển
tác và cho
bút vẽ
biếtvề
bên
thaophải
tác 2nào
đơn
lặpvị
để vẽ hình
lại? vuông
tiếp theo không?
1. Vẽ hình vuông (vẽ liên tiếp bốn cạnh và trở về đỉnh ban đầu).
2. Di chuyển bút vẽ về bên phải 2 đơn vị.
3. Vẽ hình vuông (vẽ liên tiếp bốn cạnh và trở về đỉnh ban đầu).
4. Di chuyển bút vẽ về bên phải 2 đơn vị.
5. Vẽ hình vuông (vẽ liên tiếp bốn cạnh và trở về đỉnh ban đầu).
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.
2.Câu lệnh lặp - một lệnh thay cho nhiều lệnh.
Ví dụ 1. Giả sử ta cần vẽ ba hình vuông có cạnh 1 đơn vị như hình 33(SGK).
Mỗi hình vuông là ảnh dịch chuyển của hình bên trái nó một khoảng cách 2
đơn vị.
Thuật toán :
2 đơn vị
2 đơn vị
Thao tác vẽ hình vuông và di
chuyển bút vẽ về bên phải 2
đơn vị được lặp lại
lại.nếu số
hình vuông đã vẽ được ít hơn
3. Hai thao tác trên
lặp lại trong
trường hợp nào?
1. Vẽ hình vuông (vẽ liên tiếp bốn cạnh và trở về đỉnh ban đầu).
2. Di chuyển bút vẽ về bên phải 2 đơn vị.
3. Vẽ hình vuông (vẽ liên tiếp bốn cạnh và trở về đỉnh ban đầu).
4. Di chuyển bút vẽ về bên phải 2 đơn vị.
5. Vẽ hình vuông (vẽ liên tiếp bốn cạnh và trở về đỉnh ban đầu).
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.
2.Câu lệnh lặp - một lệnh thay cho nhiều lệnh.
Ví dụ 1. Giả sử ta cần vẽ ba hình vuông có cạnh 1 đơn vị như hình 33(SGK).
Mỗi hình vuông là ảnh dịch chuyển của hình bên trái nó một khoảng cách 2
đơn vị.
Thuật toán :
1. Vẽ hình vuông (vẽ liên tiếp bốn cạnh
và trở về đỉnh ban đầu).
2. Di chuyển bút vẽ về bên phải 2 đơn vị.
3. Vẽ hình vuông (vẽ liên tiếp bốn cạnh
và trở về đỉnh ban đầu).
4. Di chuyển bút vẽ về bên phải 2 đơn vị.
5. Vẽ hình vuông (vẽ liên tiếp bốn cạnh
và trở về đỉnh ban đầu).
Bước 1: Vẽ hình vuông (vẽ
liên tiếp bốn cạnh và trở về
đỉnh ban đầu).
Bước 2: Nếu số hình vuông
đã vẽViết
đượclạiítthành
hơn 3, di
chuyển bút
vẽ về bên phải 2
1 bước
đơn vị và trở lại bước 1;
ngược lại, kết thúc thuật
toán.
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.
2.Câu lệnh lặp - một lệnh thay cho nhiều lệnh.
Ví dụ 1. Giả sử ta cần vẽ ba hình vuông có cạnh 1 đơn vị như hình 33(SGK).
Mỗi hình vuông là ảnh dịch chuyển của hình bên trái nó một khoảng cách 2
đơn vị.
Thuật toán :
Bước 1: Vẽ hình vuông (vẽ liên tiếp bốn cạnh và trở về đỉnh ban đầu).
Hãy nêu thuật toán vẽ
Bước 2: Nếu sốba
hình
vuông
đãcó
vẽcạnh
được1ít hơn 3, di chuyển bút vẽ về
hình
vuông
bên phải 2 đơn vị
vàvị,
trởmỗi
lại bước
1; ngược lại, kết thúc thuật toán.
đơn
hình vuông
là ảnh dịch chuyển của
hình bên trái nó một
tính vẽ
khoảng cách 2Máy
đơn vị?
hình vuông
như thế nào?
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.
2.Câu lệnh lặp - một lệnh thay cho nhiều lệnh.
Ví dụ 1: (sgk/56)
Xét bài toán vẽ một hình vuông
Thao tác chính của vẽ hình vuông là vẽ 4 cạnh bằng nhau, hay lặp lại 4
lần thao tác vẽ một đoạn thẳng.
Thao tác
Sau mỗi lần vẽ đoạn chính
thẳng,của
thước kẻ được quay một góc 900 sang phải tại
Vẽ 4 đoạn thẳng
vị trí của bút vẽ.
vẽ hình
này như thế nào
vuông là
để có được một
gì?
hình vuông?
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.
2.Câu lệnh lặp - một lệnh thay cho nhiều lệnh.
Ví dụ 1: (sgk/56)
Xét bài toán vẽ một hình vuông
Thuật toán :
Thực hiện vẽ đoạn
thẳng 1 đơn vị độ
dài và quay thước
900 sang phải khi
nào?
Gọi k là số đoạn thẳng đã vẽ được.
Bước 1: k ← 0
0
Bước 2: k ← k + 1. Vẽ đoạn thẳng 1 đơn vị độ dàiTăng
và quay
thước
90
k bằng
sang phải.
câu lệnh gán
nào?
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.
2.Câu lệnh lặp - một lệnh thay cho nhiều lệnh.
Ví dụ 1: (sgk/56)
Xét bài toán vẽ một hình vuông
Thuật toán :
Gọi k là số đoạn thẳng đã vẽ được.
Bước 1: k ← 0
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ì trở lại bước 2. Ngược lại, kết thúc thuật toán.
Khi k < 4
Chú ý: Biến k được sử dụng như là biến đếm để ghi lại số cạnh đã vẽ được.
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.
2.Câu lệnh lặp - một lệnh thay cho nhiều lệnh.
Ví dụ 1: (sgk/56)
Ví dụ 2. Tính tổng của 100 số tự nhiên đầu tiên:
S = 1 + 2 + 3 + ... + 100
INPUT: Dãy 100 số nguyên tự nhiên đầu tiên: 1, 2, ... , 100.
OUTPUT: Giá trị của tổng 1 + 2 + ... + 100.
Hoạt động chính khi giải bài toán trên là thựcNêu
hiệnINPUT,
phép cộng.
Hoạt
động
OUTPUT
của
chính khi giải
toán?
toán
trên là
Viết thuật toánbàibài
gì?
tính tổng 100
số nguyên đầu
tiên?
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.
2.Câu lệnh lặp - một lệnh thay cho nhiều lệnh.
Ví dụ 1: (sgk/56)
Ví dụ 2. Tính tổng của 100 số tự nhiên đầu tiên:
S = 1 + 2 + 3 + ... + 100
Thuật toán:
Bước 1: SUM ←0; i ←0.
Bước 2: i ←i+1.
Bước 3: Nếu i ≤100, thì SUM ← SUM +i và quay lại bước 2.
Bước 4: Thông báo kết quả và kết thúc thuật toán.
Thuật toán trên mô tả việc thực hiện lặp lại phép cộng 100 lần.
Thực hiện lặp
Cách mô tả các hoạt động lặp trong thuật toán như
trongcộng
ví dụ trên được
lại phép
gọi là cấu trúc lặp.
bao nhiêu lần?
Mọi ngôn ngữ lập trình đều có “cách” để chỉ thị cho máy tính thực hiện
cấu trúc lặp với một câu lệnh. Đó là các câu lệnh lặp.
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.
2.Câu lệnh lặp - một lệnh thay cho nhiều lệnh.
Ví dụ 1: (sgk/56)
Ví dụ 2. (sgk/57)
Cách mô tả các hoạt động lặp trong thuật toán như trong ví dụ trên được gọi là
cấu trúc lặp.
Mọi ngôn ngữ lập trình đều có “cách” để chỉ thị cho máy tính thực hiện cấu
trúc lặp với một câu lệnh. Đó là các câu lệnh lặp.
Câu lệnh lặp
trong Pascal có
dạng như thế
nào?
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.
2.Câu lệnh lặp - một lệnh thay cho nhiều lệnh.
3.Ví dụ về câu lệnh lặp
Câu lệnh lặp trong Pascal thường có dạng:
for <biến đếm>:= <giá trị đầu> to <giá trị cuối> do <câu lệnh>;
Trong đó: for, to, do: các từ khóa
Đọc sgk
biến đếm: biến kiểu nguyên.
giá trị đầu, giá trị cuối: là các giá trị nguyên
VD: Program rua_chen;
Uses crt;
Var chen :integer;
Begin
Câu lệnh
Việc rửa chén
Xác
giá
Câuđịnh
lặp trong
trên
sẽlệnh
thực
trịlặp
đầu,
giá
trị
làlặpcâu
hiện
lặp
Pascal Sẽ thực
hiện
baolại:
cuối, câu
lệnh
thường có
nhiêunào?
lần?
10 – 1 + lệnh?
1 = 10 lần
dạng như
thế nào?
for chen:=1 to 10 do writeln ( ‘Rua’);
readln;
End.
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.
2.Câu lệnh lặp - một lệnh thay cho nhiều lệnh.
3.Ví dụ về câu lệnh lặp
Câu lệnh lặp trong Pascal thường có dạng:
for <biến đếm>:= <giá trị đầu> to <giá trị cuối> do <câu lệnh>;
Trong đó: for, to, do: các từ khóa
biến đếm: biến kiểu nguyên.
giá trị đầu, giá trị cuối: là các giá trị nguyên
VD:
Program rua_chen;
Uses crt;
Var chen :integer;
Begin
for chen:=1 to 10 do writeln ( ‘Rua’);
readln;
End.
Khichen
thực
Câu lệnh
lặp
sẽsẽhiện
thực
Ban
đầu
nhậnhiện
giá trị
chén,
ban mỗi lần
câu1 lệnh
nhiều
lần,
là
(làrửa
giá
trị đầu)
đầu chén
sẽ vòng
là
một
Sau
khivòng
chénlặp.
thứSố
1 rửa xong
nhận
giá
trị
lặp
là biết
trước
vàlàsẽbằng
thì biến
đếm
chen
tự
bao nhiêu?
động
đơn+1
vị
giá trịtăng
đầu thêm
– giá một
trị cuối
cho đến khi chen nhận gía
trị 10 ( giá trị cuối)
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.
2.Câu lệnh lặp - một lệnh thay cho nhiều lệnh.
3.Ví dụ về câu lệnh lặp
Câu lệnh lặp trong Pascal thường có dạng:
for <biến đếm>:= <giá trị đầu> to <giá trị cuối> do <câu lệnh>;
Trong đó: for, to, do: các từ khóa
biến đếm: biến kiểu nguyên.
giá trị đầu, giá trị cuối: là các giá trị nguyên
VD:
Program rua_chen;
Uses crt;
Var chen :integer;
Begin
for chen:=1 to 10 do writeln ( ‘Rua’);
readln;
End.
Qua ví dụ,
trình bày cách
thực hiện câu
lệnh lặp for…
do?
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.
2.Câu lệnh lặp - một lệnh thay cho nhiều lệnh.
3.Ví dụ về câu lệnh lặp
Câu lệnh lặp trong Pascal thường có dạng:
for <biến đếm>:= <giá trị đầu> to <giá trị cuối> do <câu lệnh>;
Trong đó: for, to, do: các từ khóa
biến đếm: biến kiểu nguyên.
giá trị đầu, giá trị cuối: là các giá trị nguyên
Câu lệnh lặp sẽ thực hiện câu lệnh nhiều lần, mỗi lần là một vòng lặp. Số
vòng lặp là biết trước và bằng
giá trị đầu – giá trị cuối +1
Khi thực hiện, ban đầu biến đếm sẽ nhận giá trị là giá trị đầu, sau mỗi vòng
lặp, biến đếm được tự động tăng thêm một đơn vị cho đến khi bằng giá trị
cuối.
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.
2.Câu lệnh lặp - một lệnh thay cho nhiều lệnh.
3.Ví dụ về câu lệnh lặp
Câu lệnh lặp trong Pascal thường có dạng:
for <biến đếm>:= <giá trị đầu> to <giá trị cuối> do <câu lệnh>;
Khi thực hiện, ban đầu
biến điếm sẽ nhận giá
trị là giá trị đầu, sau
mỗi vòng lặp, biến
điếm được tự động
tăng thêm một đơn vị
cho đến khi bằng giá trị
cuối.
Biến đếm : = giá trị đầu
False (sai)
True (đúng)
Giá trị đầu <= Giá trị cuối
Lệnh
Biến đếm : = Biến đếm + 1
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.
2.Câu lệnh lặp - một lệnh thay cho nhiều lệnh.
3.Ví dụ về câu lệnh lặp
Câu lệnh lặp trong Pascal thường có dạng:
for <biến đếm>:= <giá trị đầu> to <giá trị cuối> do <câu lệnh>;
Ví dụ 3: Chương trình sau sẽ in ra màn hình thứ tự lần lặp:
program Lap;
var i: integer;
begin
for i : = 1 to 10 do
writeln (‘ Day la lan lap thu ‘ , i );
readln;
end.
TìmThực
hiểuhiện
sự hoạt
độngchạy
củatiếp
câu lệnh
chương trình
với i bằng 3,4?
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.
2.Câu lệnh lặp - một lệnh thay cho nhiều lệnh.
3.Ví dụ về câu lệnh lặp
Câu lệnh lặp trong Pascal thường có dạng:
for <biến đếm>:= <giá trị đầu> to <giá trị cuối> do <câu lệnh>;
Ví dụ 4:
Để in một chữ “O” trên màn hình, ta có thể sử dụng lệnh: writeln ( ‘O’ );
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
có thể lặp lại lệnh trên nhiều lần (ví dụ, 20 lần).
uses crt;
var i: integer;
Begin
clrscr;
for i:=1 to 20 do
begin writeln (‘O’); delay(100) end;
readln;
End.
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.
2.Câu lệnh lặp - một lệnh thay cho nhiều lệnh.
3.Ví dụ về câu lệnh lặp
Câu lệnh lặp trong Pascal thường có dạng:
for <biến đếm>:= <giá trị đầu> to <giá trị cuối> do <câu lệnh>;
Ví dụ 4: (sgk/58)
Dịch và chạy chương trình này, ta sẽ thấy kết quả như sau:
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.
2.Câu lệnh lặp - một lệnh thay cho nhiều lệnh.
3.Ví dụ về câu lệnh lặp
Câu lệnh lặp trong Pascal thường có dạng:
for <biến đếm>:= <giá trị đầu> to <giá trị cuối> do <câu lệnh>;
Ví dụ 4:
uses crt;
var i: integer;
Begin
clrscr;
for i:=1 to 20 do
begin writeln (‘O’); Delay(100) end;
readln;
End.
Câu lệnh ghép