Giáo án tin học lớp 8
Bài 8: lặp với số lần chưa biết trước
I.Mục tiêu
- 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 thoả 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.
II. Chuẩn bị
- GV: Giáo án, máy chiếu, máy tính.
- HS: Sách, vởđọc trước bài ở nhà.
III. Tiến trình dạy - học
Hoạt động 1: Kiểm tra bài củ
?Viết cú pháp câu lệnh lặp với số lần cha biết
trớc rồi giải thích.
?Làm bài tập 2 trang 71.
Hot ng 2: Xột c ỏc vớ d.
+ G : ta ti
p tc xột cỏc vớ
d m trong chng tr
ỡnh
cú cõu lnh vi s ln lp
cha bit trc
+ G : Chy tay cho hc
sinh xem
+ G : Cho h
c sinh chy
chng trỡnh trờn mỏy
+ G : chy chng tr
ỡnh
ny, ta nhn
c giỏ tr
ntn?
Vớ d 4. Chng tr
ỡnh
Pascal d
i õy th hin
thut toỏn tớnh s n
trong
vớ d 2:
+ Hs : chỳ ý nghe .
+ Hs : thc hin
var S,n: integer;
begin
S:=0; n:=1;
while S<=1000 do
begin n:=n+1; S:=S
+n
end;
Viết chương tr
ình tính
tổng
1 1 1
1
2 3 100
T
+ G : Cho h
ọc sinh quan
sát.
+ G : Chạy tay ( cả hai
chương trình ) cho học
sinh xem
+ G : so sánh k
ết quả khi
chạy hai chương trình
+ G : Ví dụ này cho th
ấy
writeln('So n nho nhat
de tong > 1000 la ',n);
writeln('Tong dau tien >
1000 la ',S);
end.
+ Hs : Nếu chạy ch
ương
trình này ta sẽ nhận được
n = 45 và tổng đầu ti
ên
lớn hơn 1000 là 1034.
Ví dụ 5. Viết ch
ương
trình tính t
ổng
1 1 1
1
2 3 100
T
+ Hs : quan sát
Để viết chương tr
ình tính
tổng
1 1 1
1
2 3 100
T ta có
th
ể sử dụng lệnh lặp với
số lần lặp biết trư
ớc
rằng chúng ta có thể sử
dụng câu lệnh while…do
thay cho câu l
ệnh
for…do.
+ G : Giới thiệu phần 3
+ G : Khi viết ch
ương
trình sử dụng cấu trúc lặp
cần chú ý tránh tạo n
ên
vòng l
ặp không bao giờ
kết thúc
+ Hs : Chú ý nghe
+ G : Chẳng hạn, ch
ương
trình dư
ới đây sẽ lặp lại
vô tận:
var a:integer;
begin
a:=5;
for…do:
T:=0;
for i:=1 to 100 do
T:=T+1/i;
writeln(T);
+ Hs : chú ý nghe và t
ự
chạy tay lại
+ Hs : Kết quả bằng nhau
Nếu sử dụng lệnh lặp
while…do, đoạn ch
ương
trình dưới đây cũng cho
cùng một kết quả:
T:=0;
i:=1;
while i<=100 do begin
T:=T+1/i; i:=i+1 end;
while a<6 do
writeln('A');
end.
+ G : Trong chương tr
ình
trên, giá trị của biến a
luôn luôn bằng 5, đi
ều
kiện a<6
luôn luôn đúng
nên lệnh writeln('A')
luôn
được thực hiện.
Do v
ậy, khi thực hiện
vòng lặp, điều kiện trong
câu lệnh phải đư
ợc thay
đ
ổi để sớm hay muộn giá
trị của điều kiện được
chuyển từ đúng sang sai.
Chỉ như thế chương tr
ình
mới không "rơi" vào
những "vòng lặp vô tận".
writeln(T);
* Nhận xét : Ví dụ n
ày
cho thấy rằng chúng ta có
th
ể sử dụng câu lệnh
while…do
thay cho câu
lệnh for…do.
3. Lặp vô hạn lần – Lỗi
lập trình cần tránh
Khi viết chương trình s
ử
d
ụng cấu trúc lặp cần chú
ý tránh tạo nên vòng lặp
không bao giờ kết thúc.
+ Hs : Chú ý nghe
Hoạt động 3: Củng cố
- Giáo viên hệ thống lại toàn bộ kiến thức đã học.
Hoạt động 4: Hướng dẫn về nhà
- Học bài theo sách giáo khoa và vở ghi.
- Làm bài tập 4, 5 SGK trang71.
- Đọc trước Bài TH 6.