- 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.. II.[r]
Trang 1Tiết thứ: 50
Ngày soạn: 25/02/2010
Bài 8: LẶP VỚI SỐ LẦN CHƯA BIẾT TRƯỚC
(Tiết 2)
A Mục tiêu:
I 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 thoả mãn
II Kĩ năng:
- Hiểu hoạt động của của lệnh lặp với số lần chưa biết trước while do trong Pascal.
III Thái độ:
- Nghiêm túc, rèn luyện tính chính xác, cẩn thận cho học sinh
B Phương pháp:
- Vấn đáp, thuyết trình, trình chiếu
C Chuẩn bị:
I Giáo viên:
- Nội dung bài, máy tính, SGK
II Học sinh:
- Chuẩn bị nội dung bài học ở nhà, SGK
D Tiến trình lên lớp:
I Ổn định tổ chức: (1’)
II Bài cũ: (5’)
- Em hãy nêu một vài ví dụ về hoạt động lặp với số lần chưa biết trước trong cuộc sống hàng ngày của chúng ta?
III Bài mới:
1 Đặt vấn đề: (2’)
Chúng ta đã được làm quen với các hoạt động lặp với số lần đã xác định trước Vậy với các hoạt động lặp với số lần chưa biết trước thì như thế nào?
2 Triển khai bài mới: (30’)
Trang 2Hoạt động của thầy và trò Nội dung kiến thức
* Hoạt động 1: (20’)
GV: Giới thiệu ví dụ 4
HS: Quan sát, lắng nghe
GV: Chạy chương trình trên máy
HS: Quan sát
GV: Yêu cầu học sinh đọc ví dụ 5 và viết
chương trình sử dụng lệnh for do
HS: Thực hiện
GV: Nhận xét
GV: Với dụ này cho thấy rằng chúng ta
cũng có thể sử dụng câu lệnh while…do
thay cho câu lệnh for…do để viết chương
trình
GV: Yêu cầu học sinh viết chương trình với
câu lệnh for do
HS: Lên bảng viết chương trình
GV: Nhận xét Chạy chương trình cho học
sinh quan sát
HS: Ghi bài
2 Ví dụ về lệnh lặp với số lần chưa biết trước.
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:
var S,n: integer;
begin S:=0; n:=1;
while S<=1000 do begin S:=S+n; n:=n+1; end;
writeln ('So n nho nhat de tong > 1000 la ',n); writeln ('Tong dau tien > 1000 la ',S);
readln;
end.
Ví dụ 5 Viết chương trình tính tổng
T
Giải: Để viết chương trình tính tổng
T
ta có thể sử dụng lệnh lặp
với số lần lặp biết trước for…do
T:=0;
for i:=1 to 100 do T:=T+1/i;
writeln(T);
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;
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.
* Hoạt động 2: (10’)
GV: 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
3 Lặp vô hạn lần - lỗi lập trình cần tránh.
var a:integer;
begin a:=5;
while a<6 do writeln('A');
Trang 3GV: Cho HS quan sát chương trình lặp vô
hạn ở máy chiếu Vì sao chương trình này
lặp vô hạn?
HS: Trả lời
GV: Nhận xét và lưu ý cho HS
HS: Chú ý, ghi bài
end.
* Lưu ý: 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"
IV Củng cố (5’):
- Giáo viên yêu cầu học sinh nhắc lại cú pháp và ngữ nghĩa của câu lệnh lặp for…do
- Cho học sinh đọc phần ghi nhớ
V Dặn dò (2’):
- Về nhà xem lại các kiến thức đã học
- Chuẩn bị cho tiết sau thực hành
VI Rút kinh nghiệm :