Trường Trung học Cơ sở Phường 4 Giáo án Tin học 8
GIÁO ÁN MƠN TIN HỌC
TUẦN 26 Tiết PPCT: 13 Tiết TKB: 3 LỚP: 8/1
Ngày soạn : 27/02/2010
Ngày dạy : 02/03/2010
GVHD: La Thị Huyền Đan
SV dạy: Trần Ngọc Khoa
BÀI 8. LẶP VỚI SỐ LẦN CHƯA BIẾT TRƯỚC
I. MỤC TIÊU
- Kiến thức:
+ Biết nhu cầu cần có cấu trúc lặp với số lần chưa biết trước 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 với số lần chưa biết trước
để chỉ dẫn máy tình thực hiện lặp đi lặp lại cơng việc đến khi một điều kiện nào đó
được thỏa mãn.
+ Hiểu hoạt động của câu lệnh lặp với số lần chưa biết trước While do
trong Pascal.
- Kỹ năng: vận dụng được câu lệnh While do để giải các bài tập có cấu trúc
lặp với số lần chưa biết trước.
- Thái độ: tập trung, tích cực trong giờ học.
II. CHUẨN BỊ
- GV: giáo án, sgk, bảng phụ.
- HS: xem kỹ bài cũ, đọc trước bài mới.
III. TIẾN TRÌNH BÀI DẠY
HĐ1: Kiểm tra bài cũ, đặt vấn đề vào bài mới ( 8’)
- HS:
(?) Câu lệnh For to do dùng để làm gì?
(?) Cho biết cấu trúc của câu lệnh lặp For to do?
Bài 8. Lặp với số lần chưa biết trước
1
Trường Trung học Cơ sở Phường 4 Giáo án Tin học 8
+ Cho đoạn chương trình sau
Var i, j: in te ge r;
be gi n
j := 0;
F or i := 1; t o 3 do j := j+ i ;
en d;
(?) Hãy kiểm tra xem chương trình có lỗi hay khơng và cho biết sau khi thực
hiện chương trình, biến j sẽ mang giá trị bằng bao nhiêu?
- GV nhận xét, cho điểm.
- Đặt vấn đề vào bài mới:
Xét bài tốn sau:
“Tính tổng S của 100 số tự nhiên đầu tiên 1, 2, 3, 100.
S = 1 + 2 + 3 + … + 100”.
Với bài tốn trên, ta nhận thấy tổng S sẽ được tính sau 99 lần lặp lại thao tác
cộng, ta dễ dàng giải quyết bài tốn bằng lệnh lặp For to do trong Turbo Pascal.
Nhưng nếu như bài tốn trên trở thành
“Tính tổng S các số tự nhiên đầu tiên S = 1 + 2 + 3 + … cho đến khi
S>1000”.
Vấn đề đặt ra ở đây là chúng ta phải thực hiện thao tác cộng bao nhiêu lần để
điều kiện S>1000 được thỏa mãn. Rõ ràng ta thấy xuất hiện sự lặp lại thao tác cộng
với số lần chưa biết trước. Vậy, lặp với số lần chưa biết trước là như thế nào?
Trong ngơn ngữ lập trình Pascal được thể hiện ra sao? Để tìm hiểu kỹ hơn về vấn
đề này, chúng ta vào bài 8.
Bài 8. LẶP VỚI SỐ LẦN CHƯA BIẾT TRƯỚC
Trước tiên ta cần hiểu rõ thế nào là lặp với số lần chưa biết trước thơng qua
một số ví dụ.
Bài 8. Lặp với số lần chưa biết trước
2
Trường Trung học Cơ sở Phường 4 Giáo án Tin học 8
HĐ2: 1) Tìm hiểu một số ví dụ về Các hoạt động lặp với số lần chưa biết
trước (20’)
HOẠT ĐỘNG CỦA GV HOẠT ĐỘNG CỦA HS NỘI DUNG
a) GV cho một số ví dụ
- Gieo hai hạt xí ngầu cho đến
khi được hai mặt có cùng số
nút.
(?) Phải gieo bao nhiêu lần?
(?) Khi nào ngừng gieo?
- Thử nhiều chìa khóa vào một
ổ khóa cho đến khi tìm được
đúng chìa khóa của ổ khóa.
(?) Phải thử bao nhiêu lần?
(?) Khi nào ngừng thử?
- HS ghi nhận
- Khơng thể biết trước.
- Khi hai mặt cùng số nút.
- HS ghi nhận
- Khơng thể biết trước.
- Khi tìm được đúng chìa
khóa để mở ổ khóa.
1. Các hoạt động lặp với
số lần chưa biết trước
- Nhận xét: có sự lặp lại cho
đến khi thỏa mãn một điều
kiện nào đó. Xét ví dụ trong
SGK để làm rõ vấn đề này.
- HS ghi nhận.
b) Xét Ví dụ 1 SGK
- Gọi HS đọc Ví dụ 1.
- GV phân tích vế đầu: bạn
Nam lặp lại thao tác gọi điện
thoại trong 3 lần.
(?) Việc bạn Nam thực hiện ba
cuộc gọi có phải là hoạt động
lặp với số lần chưa biết trước
hay là hoạt động lặp với số lần
biết trước ?
- Đó là hoạt động lặp với
số lần lặp biết trước.
a) Ví dụ 1
SGK trang 67
- GV phân tích vế sau: bạn
Nam lặp lại thao tác gọi điện
Bài 8. Lặp với số lần chưa biết trước
3
Trường Trung học Cơ sở Phường 4 Giáo án Tin học 8
thoại cho đến khi nào có người
nhấc máy.
(?) Việc gọi điện thoại cho đến
khi có người nhấc máy là hoạt
động lặp với số lần biết trước
hay chưa biết trước?
- Hoạt động lặp với số lần
chưa biết trước.
(?) Khi nào thì hoạt động lặp
lại này kết thúc?
- Khi có người nhấc máy
nghe điện thoại.
(?) Nếu khơng có người bắt
máy thì sẽ như thế nào?
- Tiếp tục gọi cho đến khi
có người nhấc máy.
- Ta thấy có sự lặp lại các thao
tác tương tự nhau (gieo xí
ngầu, thử chìa khóa, gọi điện
thoại) với số lần lặp là chưa thể
biết trước, cho đến khi thỏa
mãn một điều kiện nào đó (hai
mặt có cùng số nút, tìm đúng
chìa khóa, có người nhấc máy
nghe điện thoại). Đây chính là
hoạt động lặp với số lần chưa
biết trước. Ta sẽ đi sâu vào vấn
đề này qua Ví dụ 2.
c) Xét Ví dụ 2
- Gọi HS đọc Ví dụ 2 - Cá nhân HS đọc.
b) Ví dụ 2
SGK 67
(?) Bài tốn u cầu làm gì? - Cá nhân HS dựa vào
SGK trả lời.
(?) Hãy giải thích cụm từ
“Tổng tự nhiên nhỏ nhất lớn
hơn 1000”?
- Cộng các số tự nhiên đến
một giá trị n nào đó thì
tổng S sẽ lớn hơn 1000.
Giá trị S tại thời điểm đó
Bài 8. Lặp với số lần chưa biết trước
4
Trường Trung học Cơ sở Phường 4 Giáo án Tin học 8
gọi là “Tổng tự nhiên nhỏ
nhất lớn hơn 1000”.
- GV nhận xét, tóm ý. - HS ghi nhận.
- Gợi ý hướng giải quyết bài
tốn:
+ Gán S
0
=0;
+ Tính S
1
: S
1
= S
0
+ n (n=1);
+ Xét điều kiện, nếu S
1
<1000
thì tính S
2
=S
1
+n (n=2); nếu
S
1
>1000 thì dừng lại.
+ Thực hiện tương tự với
n=3,4… cho đến khi có một số
n mà S
n
>1000.
- HS ghi nhận.
- Cho HS (chia 4 nhóm) thảo
luận nhóm (trong 4 phút) làm
rõ các bước của thuật tốn ở Ví
dụ 2.
(?) Biến n có ý nghĩa gì?
(?) Giải thích từng bước của
thuật tốn?
- Thảo luận nhóm.
- Lưu trữ giá trị tăng dần
của các số tự nhiên.
- B1: gán giá trị cho biến;
B2: thực hiện thao tác so
sánh. Nếu S<= 1000 thì
tăng n, tức gán giá trị của
số tự nhiên tiếp theo vào
n, ngược lại thì kết thúc
bài tốn.
B3: thực hiện cộng tổng
S = S +n và trở về B2.
B4: in kết quả.
- GV nhận xét. - HS ghi nhận.
(?) Ở ví dụ 2 ta có xác định
được số lần lặp lại khơng?
- Khơng thể xác định
được.
Bài 8. Lặp với số lần chưa biết trước
5
Trường Trung học Cơ sở Phường 4 Giáo án Tin học 8
(?) Vòng lặp phụ thuộc vào
điều kiện nào?
- Phụ thuộc vào điều kiện
S<=1000.
(?) Khi nào kết thúc vòng lặp? - Khi S>1000 (tức điều
kiện sai).
(?) Tổng qt : việc lặp với số
lần chưa biết trước phụ thuộc
vào điều gì? Phụ thuộc như thế
nào?
- Cá nhân HS trả lời. - Việc lặp với số lần chưa
biết trước phụ thuộc vào
một điều kiện cụ thể nào
đó có được thỏa mãn hay
khơng.
- Gọi HS đọc nội dung SGK. - Cá nhân HS đọc.
- Treo hình 39 (SGK 68) và
gọi HS mơ tả.
- GV nhận xét.
- Ta đã hiểu được thế nào là
thao tác lặp với số lần chưa
biết trước. Vậy trong Pascal
thao tác này được thể hiện như
thế nào? Ta hãy tìm hiểu phần
2.
- Cá nhân HS mơ tả
+ B1 : Xét điều kiện.
+ B2 : Nếu điều kiện
đúng thì thực hiện câu
lệnh và quay trở lại B1,
ngược lại kết thúc bài
tốn.
- Có thể mơ tả việc lặp với
số lần chưa biết trước bằng
sơ đồ khối dưới đây
HĐ3: 2. Ví dụ về lệnh lặp với số lần chưa biết trước (12’)
- Giới thiệu câu lệnh lặp
While do
- HS ghi nhận - Câu lệnh lặp với số lần
chưa biết trước có dạng
While <điều kiện> do
<câu lệnh>;
+ Điều kiện thường là
một phép so sánh.
Bài 8. Lặp với số lần chưa biết trước
6
Trường Trung học Cơ sở Phường 4 Giáo án Tin học 8
+ Câu lệnh có thể là câu
lệnh đơn giản hay câu lệnh
ghép.
(?) Câu lệnh While do được
thực hiện như thế nào?
- HS dựa vào SGK trả lời. - Câu lệnh While do
được thực hiện:
1. Kiểm tra điều kiện.
2. Nếu điều kiện sai, câu
lệnh bỏ qua, lệnh lặp kết
thúc; điều kiện đúng, câu
lệnh được thực hiện và
quay lại bước 1.
- Dùng câu lệnh While do
viết chương trình thực hiện bài
tập ở ví dụ 2.
Hướng dẫn :
(?) Chương trình cần những
biến nào? Khai báo ra sao?
(?) Điều kiện ở đây là gì?
(?) Câu lệnh ở đây là gì?
- HS (chia 4 nhóm) thảo
luận (trong 4 phút)
- Biến S và n.
S:=0; n:=0;
- S<= 1000.
- While S<=1000 do
Begin
n:=n+1; S:= S+n;
End;
- u cầu các nhóm trình bày
vào bảng phụ và treo lên bảng
- Các nhóm hồn thành
chương trình vào bảng phụ
và treo lên bảng.
- GV nhận xét và cho HS ghi
nhận vào vở.
- HS ghi nhận.
HĐ4: Củng cố (4’)
(?) Lặp với số lần biết trước và
lặp với số lần chưa biết trước
- Cá nhân HS trả lời.
Bài 8. Lặp với số lần chưa biết trước
7
Trường Trung học Cơ sở Phường 4 Giáo án Tin học 8
khác nhau như thế nào?
(?) Cho một số ví dụ trong
cuộc sống thể hiện lặp với số
lần chưa biết?
- Cá nhân HS cho ví dụ.
(?) Câu lệnh While do được
thực hiện như thế nào?
- Cá nhân HS trả lời.
HĐ5: Dặn dò (1’)
- Về xem lại cấu trúc của lệnh lặp While do, so sánh sự khác nhau giữa câu
lệnh For to do với While do.
- Đọc trước bài mới.
Duyệt của GVHD Trường THCS. Phường 4, ngày 27/02/2010
SV soạn
TRẦN NGŠC KHOA
Bài 8. Lặp với số lần chưa biết trước
8