Thứ Hai, 3 tháng 3, 2014
CÂU LỆNH LẶP
THCS Phù Đổng
THCS Phù Đổng
Tuần: Ngày : …………
Tiết 37, 38: CÂU LỆNH LẶP
I. Mục tiêu:
a) Kiến thức:
- Biết nhu cầu cần có cấu trúc lặp trong ngôn ngữ lập
trình;
- Biết ngôn ngữ lập trình dùng cấu trúc lặp để chỉ dẫn
máy tính thực hiện lặp đi lặp lại công việc nào đó một
số lần;
- Hiểu hoạt động của câu lênh lặp với số lần biết trước
for do trong Pascal;
- Biết lệnh ghép trong Pascal.
b) Kỹ năng:
- Viết đúng lệnh for do trong một số tình huống đơn
giản;
- Hiểu cách viết đúng các quy tắc, cú pháp trong ngôn
ngữ cụ thể khi dùng vòng lặp for;
- Đọc hiểu được chương trình có sử dụng vòng lặp
for do;
c) Thái độ:
-
Nhận thức được vai trò quan trọng của vòng lặp xác
định for do là giúp thực hiện các công việc lặp lại
nhiều lần một cách khoa học, nhanh chóng, không dài
dòng, tránh nhàm chán, dễ sai sót và tốn thời gian;
-
Có ý thức trong học tập.
II. Chuẩn bị:
GV: - Giáo án, máy Projector, bảng và bút;
- Một số ví dụ bài tập về vòng lặp for do;
HS: - SGK, vở để ghi;
III. Lưu ý sư phạm:
- Dạy để học sinh hiểu cách sử dụng vòng lặp for do
trong mọi ngôn ngữ lập trình;
- Ứng dụng vòng lặp được minh họa bằng ngôn ngữ
Pascal, không phải nhất nhất áp đặc học sinh vào
ngôn ngữ Pascal;
- Không nên đưa vào các kiến thức ngoài SGK quá
nhiều nhằm tránh gây quá tải đối với học sinh.
IV. Hoạt động dạy và học:
A.Kiểm tra bài cũ: câu điều kiện, cấu trúc rẽ nhánh
B.Bài mới:
1. Hoạt động 1: Giới thiệu các công việc phải lặp
nhiều lần
Mục tiêu: giúp học sinh nhận biết và phân biệt được
các công việc lặp lại nhiều lần trong đời sống hằng
ngày .
HĐ giáo viên
HĐ giáo viên
HĐ học sinh
HĐ học sinh
Nội dung
Nội dung
Câu hỏi:
Câu hỏi:
Trong đời sống hằng
Trong đời sống hằng
ngày có rất nhiều công việc được
ngày có rất nhiều công việc được
lặp đi lặp lại, em nào cho biết
lặp đi lặp lại, em nào cho biết
một vài ví dụ?
một vài ví dụ?
GV cho thêm vào ví dụ:
GV cho thêm vào ví dụ:
mỗi
mỗi
sáng thứ 2 đều chào cờ đầu tuần,
sáng thứ 2 đều chào cờ đầu tuần,
hoặc cô giáo lặp đi lặp lại việc gọi
hoặc cô giáo lặp đi lặp lại việc gọi
học sinh lên trả bài và ghi điểm,
học sinh lên trả bài và ghi điểm,
cô giáo sẽ ngừng lại cho đến khi
cô giáo sẽ ngừng lại cho đến khi
đã vào điểm cho tất cả học
đã vào điểm cho tất cả học
sinh
sinh
GV chốt lại:
GV chốt lại:
đó là các công việc,
đó là các công việc,
các hoạt động được thực hiện
các hoạt động được thực hiện
bằng cách lặp đi lặp lại nhiều lần,
bằng cách lặp đi lặp lại nhiều lần,
được chia làm 2 kiểu lặp: lặp với
được chia làm 2 kiểu lặp: lặp với
số lần nhất định, biết trước và lặp
số lần nhất định, biết trước và lặp
với số lần không xác định được.
với số lần không xác định được.
Câu hỏi:
Câu hỏi:
ví dụ nào là lặp với số
ví dụ nào là lặp với số
lần xác định được, ví dụ nào là
lần xác định được, ví dụ nào là
lặp với số lần không xác định
lặp với số lần không xác định
được?
được?
GV: Nhận xét đánh giá
GV: Nhận xét đánh giá
- GV cho học sinh ghi vào vở
- GV cho học sinh ghi vào vở
Thảo luận trả lời:
Thảo luận trả lời:
-Tiếng gà gáy
-Tiếng gà gáy
mỗi sáng, tiếng
mỗi sáng, tiếng
trống trường sau
trống trường sau
mỗi tiết học,
mỗi tiết học,
đánh răng trước
đánh răng trước
khi đi ngủ và mỗi
khi đi ngủ và mỗi
sáng thức dậy
sáng thức dậy
-
-
Hằng ngày em đi
Hằng ngày em đi
học
học
HS lắng nghe
HS lắng nghe
Một vài học sinh
Một vài học sinh
trả lời
trả lời
HS Lắng nghe
HS Lắng nghe
HS ghi vào vở
HS ghi vào vở
1. Các công việc phải
1. Các công việc phải
thực hiện nhiều lần:
thực hiện nhiều lần:
- lặp với số lần nhất
- lặp với số lần nhất
định và biết trước:
định và biết trước:
đánh răng mỗi ngày 2
đánh răng mỗi ngày 2
lần, ngày ăn cơn 3
lần, ngày ăn cơn 3
lần
lần
- lặp với số lần không
- lặp với số lần không
thể xác định trước: học
thể xác định trước: học
cho đến khi thuộc bài
cho đến khi thuộc bài
HĐ giáo viên
HĐ giáo viên
HĐ học sinh
HĐ học sinh
Nội dung
Nội dung
-
Xét VD1
Xét VD1
: Vẽ 3 hình vuông
: Vẽ 3 hình vuông
bằng nhau
bằng nhau
Ta phải vẽ lần lượt 3 hình.
Ta phải vẽ lần lượt 3 hình.
Nhưng với câu lệnh lặp, ta chỉ
Nhưng với câu lệnh lặp, ta chỉ
cần vẽ một hình vuông, rồi lặp
cần vẽ một hình vuông, rồi lặp
lại cho 2 hình vuông kia. Ta có
lại cho 2 hình vuông kia. Ta có
thuật toán như thế nào?
thuật toán như thế nào?
- Gọii một HS nêu thuật toán.
- Gọii một HS nêu thuật toán.
- GV: nhận xét, giải thích các
- GV: nhận xét, giải thích các
bước lặp của thuật toán
bước lặp của thuật toán
VD1
VD1
:HS quan sát
:HS quan sát
- Một HS nêu thuật
- Một HS nêu thuật
toán:
toán:
B1: Vẽ hình vuông
B1: Vẽ hình vuông
đầu tiên
đầu tiên
B2: Xét nếu hình
B2: Xét nếu hình
vuông vẽ được ít
vuông vẽ được ít
hơn 3 thì di chuyển
hơn 3 thì di chuyển
về phải 2 đơn vị, trở
về phải 2 đơn vị, trở
về bước 1để tiếp tục
về bước 1để tiếp tục
vẽ; Ngược lại kết
vẽ; Ngược lại kết
thúc thuật toán.
thúc thuật toán.
- HS: thảo luận, bổ
- HS: thảo luận, bổ
sung
sung
2. Câu lệnh lặp –
2. Câu lệnh lặp –
một lệnh thay cho
một lệnh thay cho
nhiều lệnh:
nhiều lệnh:
2. Hoạt động 2: Giới thiệu câu lệnh lặp, cấu trúc lặp.
Mục tiêu: Biết câu lệnh lặp với số lần biết trước và chức năng nó
Cách thực hiện: Cho một số ví dụ để hoc sinh trình bày thuật
toán. GV nhận xét và đưa ra kết luận.
HĐ giáo viên
HĐ giáo viên
HĐ học sinh
HĐ học sinh
Nội dung
Nội dung
VD2:
VD2:
Tính tổng của 100 số tự
Tính tổng của 100 số tự
nhiên đầu tiên S= 1+2+3+
nhiên đầu tiên S= 1+2+3+
+100.
+100.
Gọi một học sinh nêu thuật toán.
Gọi một học sinh nêu thuật toán.
- GV: nhận xét, giải thích các
- GV: nhận xét, giải thích các
bước lặp của thuật toán
bước lặp của thuật toán
VD3:
VD3:
In ra màn hình số lần lặp từ
In ra màn hình số lần lặp từ
15
15
- GV: nhận xét, giải thích các
- GV: nhận xét, giải thích các
bước lặp của thuật toán
bước lặp của thuật toán
*
*
Qua 3 ví dụ GV giải thích đưa ra
Qua 3 ví dụ GV giải thích đưa ra
kết luận: Cách mô tả các hoạt
kết luận: Cách mô tả các hoạt
động trong thuật toán như ở các
động trong thuật toán như ở các
ví dụ được gọi là cấu trúc lặp. Vậy
ví dụ được gọi là cấu trúc lặp. Vậy
cấu trúc lặp có vai trò gì?
cấu trúc lặp có vai trò gì?
- GV: chốt lại cho HS ghi vào vở
- GV: chốt lại cho HS ghi vào vở
* Giải thích câu lệnh lặp: là cách
* Giải thích câu lệnh lặp: là cách
để điều kiển máy tính thực hiện
để điều kiển máy tính thực hiện
cấu trúc lặp.
cấu trúc lặp.
VD2:
VD2:
Một HS nêu thuật toán:
Một HS nêu thuật toán:
B1: S0; i 0
B1: S0; i 0
B2: ii + 1
B2: ii + 1
B3: nếu i<=100 thì SS+i và
B3: nếu i<=100 thì SS+i và
quay lại B2
quay lại B2
B4: kết thúc thuật toán
B4: kết thúc thuật toán
- HS: thảo luận, bổ sung
- HS: thảo luận, bổ sung
VD3:
VD3:
HS trình bày thuật toán:
HS trình bày thuật toán:
B1: i1
B1: i1
B2: Viết ra lần lặp thứ i, ii+1
B2: Viết ra lần lặp thứ i, ii+1
B3: nếu i<=5 thì quay lại B2
B3: nếu i<=5 thì quay lại B2
B4: Kết thúc thuật toán
B4: Kết thúc thuật toán
- HS: thảo luận, bổ sung
- HS: thảo luận, bổ sung
- HS thảo luận trả lời
- HS thảo luận trả lời
HS ghi vào vở
HS ghi vào vở
- Cấu trúc lặp
- Cấu trúc lặp
được sử dụng
được sử dụng
để chỉ thị cho
để chỉ thị cho
máy tính thực
máy tính thực
hiện lặp đi lặp
hiện lặp đi lặp
lại một hoạt
lại một hoạt
động nào đó
động nào đó
cho đến khi một
cho đến khi một
điều kiện nào
điều kiện nào
đó được thỏa
đó được thỏa
mãn
mãn
-
-
Câu lệnh lặp:
Câu lệnh lặp:
là “cách” để chỉ
là “cách” để chỉ
thị máy tính
thị máy tính
thực hiện cấu
thực hiện cấu
trúc lặp.
trúc lặp.
HĐ giáo viên
HĐ giáo viên
HĐ học sinh
HĐ học sinh
Nội dung
Nội dung
-
Trở lại với VD2
Trở lại với VD2
: minh họa
: minh họa
với ngôn ngữ pascal:
với ngôn ngữ pascal:
HS quan sát ví
HS quan sát ví
dụ
dụ
- HS lên viết cấu
- HS lên viết cấu
trúc
trúc
- Thảo luận nhận
- Thảo luận nhận
xét
xét
3. Ví dụ về câu lệnh
3. Ví dụ về câu lệnh
lặp:
lặp:
Cấu trúc
Cấu trúc
:
:
3. Hoạt động 3: Cấu trúc câu lệnh lặp
Mục tiêu:
- Biết cấu trúc câu lệnh của vòng lặp biết trước số lần lặp
for do
- Hiểu nguyên tắc hoạt động của câu lệnh lặp
- Hiểu câu lệnh đơn, câu lệnh ghép.
Cách thực hiện: Sử dụng ngôn ngữ pascal để minh họa ví dụ
for <biến đếm> := <giá trị đầu>
for <biến đếm> := <giá trị đầu>
to <giá trị cuối> do <câu lệnh>;
to <giá trị cuối> do <câu lệnh>;
Program Lap;
Var i: integer;
Begin
For i:= 1 to 5 do
Writeln(‘Day la lan lap thu:’, i);
Readln;
End.
Cấu trúc lặp đã được mô
Cấu trúc lặp đã được mô
tả bằng câu lệnh lặp
tả bằng câu lệnh lặp
của ngôn ngữ pascal.
của ngôn ngữ pascal.
Câu hỏi:
Câu hỏi:
dựa vào ví dụ, mời 1
dựa vào ví dụ, mời 1
bạn lên viết cấu trúc câu lệnh lặp.
bạn lên viết cấu trúc câu lệnh lặp.
-GV nhận xét đưa ra cấu trúc câu
-GV nhận xét đưa ra cấu trúc câu
lệnh lặp
lệnh lặp
B1: i 1
B2: Viết ra lần lặp thứ i, i i+1
B3: nếu i<=5 thì quay lại B2
B4: Kết thúc thuật toán
HĐ giáo viên
HĐ giáo viên
HĐ học sinh
HĐ học sinh
Nội dung
Nội dung
Cùng HS phân tích cú pháp:
Cùng HS phân tích cú pháp:
+ Giá trị đầu, giá trị cuối luôn là
+ Giá trị đầu, giá trị cuối luôn là
kiểu dữ liệu gì?
kiểu dữ liệu gì?
+ biến đếm: biến đầu tiên được
+ biến đếm: biến đầu tiên được
gán giá trị đầu, mỗi lần thực
gán giá trị đầu, mỗi lần thực
hiện thì biến đếm tăng 1 đơn vị
hiện thì biến đếm tăng 1 đơn vị
từ giá trị đầu đến giá trị cuối.
từ giá trị đầu đến giá trị cuối.
Vậy biến đếm có kiểu dữ liệu
Vậy biến đếm có kiểu dữ liệu
gì? Giá trị cuối như thế nào so
gì? Giá trị cuối như thế nào so
với giá trị đầu?
với giá trị đầu?
-
-
Cùng học sinh phân tích
Cùng học sinh phân tích
hoạt động:
hoạt động:
Đầu tiên biến đếm
Đầu tiên biến đếm
gán bằng giá trị đầu, sau đó giá
gán bằng giá trị đầu, sau đó giá
trị biến đếm tăng dần 1 đơn vị
trị biến đếm tăng dần 1 đơn vị
từ giá trị đầu đến giá trị cuối.
từ giá trị đầu đến giá trị cuối.
và câu lệnh được thực hiện mỗi
và câu lệnh được thực hiện mỗi
lần tăng biến đếm cho đến khi
lần tăng biến đếm cho đến khi
biến đếm vượt quá giá trị cuối
biến đếm vượt quá giá trị cuối
thì kết thúc.
thì kết thúc.
- Dữ liệu kiểu số
- Dữ liệu kiểu số
nguyên
nguyên
- HS trả lời:
- HS trả lời:
kiểu nguyên,
kiểu nguyên,
giá trị cuối >=
giá trị cuối >=
giá trị đầu
giá trị đầu
-
HS ghi vào vở
HS ghi vào vở
-
HS lắng nghe
HS lắng nghe
Trong đó:
Trong đó:
-
-
biến đếm:
biến đếm:
là biến
là biến
thường có kiểu nguyên;
thường có kiểu nguyên;
-
-
Giá trị đầu, giá trị
Giá trị đầu, giá trị
cuối
cuối
: là các biểu thức có
: là các biểu thức có
cùng kiểu với biến đếm.
cùng kiểu với biến đếm.
Giá trị cuối phải lớn hơn
Giá trị cuối phải lớn hơn
hoặc bằng giá trị đầu;
hoặc bằng giá trị đầu;
for <biến đếm> := <giá trị đầu>
for <biến đếm> := <giá trị đầu>
to <giá trị cuối> do <câu lệnh>;
to <giá trị cuối> do <câu lệnh>;
HĐ giáo viên
HĐ giáo viên
HĐ học sinh
HĐ học sinh
Nội dung
Nội dung
Cho HS ghi hoạt động vào
Cho HS ghi hoạt động vào
vở.
vở.
Cho HS ghi ví dụ vào vở
Cho HS ghi ví dụ vào vở
* Bài tập ví dụ: Dùng lênh
* Bài tập ví dụ: Dùng lênh
for do viết đoạn lệnh nhập
for do viết đoạn lệnh nhập
tên và hiển thị ra màn hình
tên và hiển thị ra màn hình
40 bạn trong lớp em.
40 bạn trong lớp em.
- Gọi một HS lên bảng viết
- Gọi một HS lên bảng viết
HS theo dõi
HS theo dõi
HS Ghi vở
HS Ghi vở
HS theo dõi
HS theo dõi
HS ghi ví dụ
HS ghi ví dụ
vào vở
vào vở
HS viết vào
HS viết vào
giấy nháp
giấy nháp
Hoạt động:
Hoạt động:
Biến đếm
Biến đếm
gán bằng giá trị đầu,
gán bằng giá trị đầu,
sau đó giá trị biến
sau đó giá trị biến
đếm tăng dần 1 đơn
đếm tăng dần 1 đơn
vị từ giá trị đầu đến
vị từ giá trị đầu đến
giá trị cuối. và câu
giá trị cuối. và câu
lệnh được thực hiện
lệnh được thực hiện
mỗi lần tăng biến đếm
mỗi lần tăng biến đếm
cho đến khi biến đếm
cho đến khi biến đếm
vượt quá giá trị cuối
vượt quá giá trị cuối
thì kết thúc.
thì kết thúc.
Ví dụ một chương trình
Ví dụ một chương trình
viết bằng Pascal:
viết bằng Pascal:
GV Cho chạy chậm VD3:
GV Cho chạy chậm VD3:
-Một HS lên
-Một HS lên
bảng viết
bảng viết
HĐ giáo viên
HĐ giáo viên
HĐ học sinh
HĐ học sinh
Nội dung
Nội dung
Câu hỏi
Câu hỏi
: Ở VD2 và bài
: Ở VD2 và bài
tập bạn làm em thấy
tập bạn làm em thấy
trong câu lệnh lặp có gì
trong câu lệnh lặp có gì
khác nhau?
khác nhau?
GV chốt lại:
GV chốt lại:
sau khóa do
sau khóa do
có nhiều câu lệnh thì
có nhiều câu lệnh thì
phải gói trong khối
phải gói trong khối
begin end. Begin end
begin end. Begin end
này được coi là câu lệnh
này được coi là câu lệnh
ghép của pascal, sau end
ghép của pascal, sau end
là dấu ;
là dấu ;
-
-
HS thảo luận
HS thảo luận
trả lời
trả lời
+ VD2: sau do là 1
+ VD2: sau do là 1
câu lệnh
câu lệnh
+ Bài tập: sau do
+ Bài tập: sau do
là các câu lệnh
là các câu lệnh
nằm trong khối
nằm trong khối
Begin end.
Begin end.
HS lắng nghe ghi
HS lắng nghe ghi
vào vở
vào vở
*
*
Chú ý:
Chú ý:
Câu lệnh
Câu lệnh
có thể là câu lệnh
có thể là câu lệnh
đơn hoặc câu lệnh
đơn hoặc câu lệnh
ghép
ghép
4. Hoạt động 4: một số ví dụ sử dụng câu lệnh lặp
Mục tiêu:
- làm quen thêm với các tình huống sử dụng câu lệnh
lặp for do và lệnh ghép
- Hướng dẫn học sinh viết chương trình bằng ngôn ngữ
lập trình.
Cách tiến hành: Sử dụng ngôn ngữ pascal để giải các
bài toán.
HĐ giáo viên
HĐ giáo viên
HĐ học sinh
HĐ học sinh
Nội dung
Nội dung
*Cho HS ghi đề ví dụ 4
*Cho HS ghi đề ví dụ 4
vào vở và làm.
vào vở và làm.
- Gọi một HS nhắc lại
- Gọi một HS nhắc lại
thuật toán tính tổng N.
thuật toán tính tổng N.
- GV hướng dẫn cách
- GV hướng dẫn cách
làm :
làm :
+ Tổng N rất lớn nên khai
+ Tổng N rất lớn nên khai
báo kiểu dữ liệu gì?
báo kiểu dữ liệu gì?
+ gán S 0, giá thị đầu
+ gán S 0, giá thị đầu
= 1thi S:= S+1
= 1thi S:= S+1
HS ghi đề vào
HS ghi đề vào
vở
vở
HS trả lời
HS trả lời
-
HS tự làm vào
HS tự làm vào
giấy nháp
giấy nháp
4. Tính tổng và tích bằng
4. Tính tổng và tích bằng
câu lệnh lặp:
câu lệnh lặp:
Ví dụ 4: Tính tổng của N số
Ví dụ 4: Tính tổng của N số
tự nhiên đầu tiên, N được
tự nhiên đầu tiên, N được
nhập từ bàn phím.
nhập từ bàn phím.
Program Tinh_tong;
Program Tinh_tong;
Var N, i : integer;
Var N, i : integer;
S: real;
S: real;
Begin
Begin
Write(‘Nhap so N = ’);
Write(‘Nhap so N = ’);
readln(N);
readln(N);
S:= 0;
S:= 0;
For i := 1 to N do S:=
For i := 1 to N do S:=
S+i;
S+i;
Writeln(‘Tong cua’,N, ‘so
Writeln(‘Tong cua’,N, ‘so
tu nhien
tu nhien
dau tien S=’, S);
dau tien S=’, S);
End.
End.
←
HĐ giáo viên
HĐ giáo viên
HĐ học sinh
HĐ học sinh
Nội dung
Nội dung
*Cho HS ghi đề ví dụ 5 vào
*Cho HS ghi đề ví dụ 5 vào
vở và làm.
vở và làm.
- Giải thích tích N số tự nhiên
- Giải thích tích N số tự nhiên
đầu tiên là N!=1.2.3 N
đầu tiên là N!=1.2.3 N
- Gọi một HS trình bày thuật
- Gọi một HS trình bày thuật
toán tính tổng N.
toán tính tổng N.
- GV hướng dẫn thuật toán
- GV hướng dẫn thuật toán
và cách làm :
và cách làm :
+ Tích N rất lớn nên khai báo
+ Tích N rất lớn nên khai báo
kiểu dữ liệu gì?
kiểu dữ liệu gì?
+gán P 1 và khi giá trị đầu
+gán P 1 và khi giá trị đầu
=1 thì P:=P*1
=1 thì P:=P*1
* GV gọi 2 HS lên bảng giải
* GV gọi 2 HS lên bảng giải
- GV sửa bài và cho HS ghi
- GV sửa bài và cho HS ghi
vào vở.
vào vở.
* Nhắc nhở HS: cấu trúc lặp
* Nhắc nhở HS: cấu trúc lặp
được được viết ở mọi ngôn
được được viết ở mọi ngôn
ngữ lập trình, ta đang viết
ngữ lập trình, ta đang viết
bằng pascal, ta cũng có thể
bằng pascal, ta cũng có thể
viết bằng ngôn ngữ khác( C,
viết bằng ngôn ngữ khác( C,
java, basic )
java, basic )
HS ghi đề vào
HS ghi đề vào
vở
vở
HS trả lời
HS trả lời
- HS tự làm vào
- HS tự làm vào
giấy nháp
giấy nháp
- 2 HS lên bảng
- 2 HS lên bảng
-
HS nhận xét, bổ
HS nhận xét, bổ
sung
sung
-
Ghi vào vở
Ghi vào vở
HS lắng nghe
HS lắng nghe
Ví dụ 5: Tính tích của N số
Ví dụ 5: Tính tích của N số
tự nhiên đầu tiên.(Kí hiệu:
tự nhiên đầu tiên.(Kí hiệu:
N!=1.2.3 N)
N!=1.2.3 N)
Program Tinh_giai_thua;
Program Tinh_giai_thua;
Var N, i : integer;
Var N, i : integer;
P: real;
P: real;
Begin
Begin
Write(‘Nhap so N = ’);
Write(‘Nhap so N = ’);
readln(N);
readln(N);
P:= 1;
P:= 1;
For i := 1 to N do P:=
For i := 1 to N do P:=
P*i;
P*i;
Writeln(N, ‘! = ’,P );
Writeln(N, ‘! = ’,P );
End.
End.
* Chú ý: N! là số rất lớn
* Chú ý: N! là số rất lớn
nên cần khai báo biến chứa
nên cần khai báo biến chứa
giá trị của nó đủ lớn
giá trị của nó đủ lớn
←
Đăng ký:
Đăng Nhận xét (Atom)
Không có nhận xét nào:
Đăng nhận xét