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
Trang 1Giá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ủ
Trang 2?Viết cú pháp câu lệnh lặp với số lần chưa biết trước rồi giải thích
?Làm bài tập 2 trang 71
Hoạt động 2: Xột c ỏc vớ dụ
+ G : ta tiếp tục xột cỏc vớ
dụ mà trong chương trỡnh
cú cõu lệnh với số lần lặp
chưa biết trước
+ G : Chạy tay cho học
sinh xem
+ G : Cho học sinh chạy
chương trỡnh trờn mỏy
+ G : chạy chương trỡnh
này, ta nhận được giỏ trị
ntn?
Vớ dụ 4 Chương trỡnh Pascal dưới đõy thể hiện
thuật toỏn tớnh số n trong
vớ dụ 2:
+ Hs : chỳ ý nghe + Hs : thực hiện
var S,n: integer;
begin
S:=0; n:=1;
while S<=1000 do begin n:=n+1; S:=S+n end;
Trang 3Viế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
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
Trang 4rằ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;
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
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;
Trang 5while 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
Trang 6Hoạ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