- 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]
(1)Tiế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 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 để dẫn máy tính thực lặp lặp lại cơng việc đến điều kiện thoả mãn
II Kĩ năng:
- Hiểu hoạt động của lệnh lặp với số lần chưa biết trước while do Pascal
III Thái độ:
- Nghiêm túc, rèn luyện tí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 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 nêu vài ví dụ hoạt động lặp với số lần chưa biết trước sống hàng ngày chúng ta?
III Bài mới:
Đặt vấn đề: (2’)
Chúng ta làm quen với hoạt động lặp với số lần xác định trước Vậy với hoạt động lặp với số lần chưa biết trước nào?
(2)Hoạt động thầy trò Nội dung kiến thức * Hoạt động 1: (20’)
GV: Giới thiệu ví dụ HS: Quan sát, lắng nghe
GV: Chạy chương trình máy HS: Quan sát
GV: Yêu cầu học sinh đọc ví dụ viết chương trình sử dụng lệnh for
HS: Thực GV: Nhận xét
GV: Với dụ cho thấy 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
2 Ví dụ lệnh lặp với số lần chưa biết trước. Ví dụ 4. Chương trình Pascal thể thuật tốn tính số n 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ụ Viết chương trình tính tổng
1 1
1
2 100
T
Giải: Để viết chương trình tính tổng
1 1
1
2 100
T
ta 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 T:=T+1/i; writeln(T);
Nếu sử dụng lệnh lặp while…do, đoạn chương trình cho kết quả:
T:=0; i:=1;
while i<=100 begin T:=T+1/i; i:=i+1 end;
writeln(T);
* Nhận xét: Ví dụ cho thấy 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 ý tránh tạo nên vịng lặp khơng 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;
(3)GV: Cho HS quan sát chương trình lặp vơ hạn máy chiếu Vì chương trình lặp vơ hạn?
HS: Trả lời
GV: Nhận xét lưu ý cho HS HS: Chú ý, ghi
end.
* Lưu ý: Do vậy, thực vũng lặp, điều kiện trong câu lệnh phải thay đổi để sớm hay muộn giá trị điều kiện được chuyển từ
đúng sang sai Chỉ chương trình khơng "rơi" vào "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 ngữ nghĩ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 kiến thức học - Chuẩn bị cho tiết sau thực hành
VI Rút kinh nghiệm :