I. Mục tiêu
1. 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;
2. Kỹ năng
- Nhận biết được đâu là hoạt động lặp với số lần chưa biêt trước.
3. Thái độ
- Nghiêm túc trong quá trình nghiên cứu và thực hành.
II. Chuẩn bị
1. Thầy giáo
- Phòng máy tính, máy chiếu.
2. Học sinh
- Sách giáo khoa, em trước bài học ở nhà.
Tiết: 42 Ngày dạy: 23/01/2010 Bài 8 LẶP VỚI SỐ LẦN CHƯA BIẾT TRƯỚC I. Mục tiêu 1. 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; 2. Kỹ năng Nhận biết được đâu là hoạt động lặp với số lần chưa biêt trước. 3. Thái độ Nghiêm túc trong quá trình nghiên cứu và thực hành. II. Chuẩn bị Thầy giáo Phòng máy tính, máy chiếu. Học sinh Sách giáo khoa, em trước bài học ở nhà. III. Phương pháp dạy học Hướng dẫn trực tuyến Diễn giải, đàm thoại. IV. Tiến trình dạy học Ổn định Kiểm diện học sinh Kiểm tra bài cũ Không Bài mới Hoạt động của thầy & trò Nội dung ghi của trò + 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 Xét ví dụ 4 + G : Cho học sinh quan sát phim trong chương trình + Hs : quan sát + G : Chạy tay cho học sinh xem + Hs : chú ý nghe và tự chạy tay lại + G : Yêu cầu học sinh mở máy tính và mở chương trình ví dụ 4 ( giáo viên chuẩn bị chương trình mẫu và đưa lên các máy ) + Hs : thực hiện + G : Cho học sinh chạy chương trình trên máy + Hs : thực hiện + G : chạy chương trình này, ta nhận được giá trị ntn? + 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. + G : giới thiệu ví dụ 5 sgk Viết chương trình tính tổng + G : Cho học sinh quan sát phim trong chương trình + Hs : quan sát + G : Chạy tay (cả hai chương trình) cho học sinh xem + Hs : chú ý nghe và tự chạy tay lại + G : so sánh kết quả khi chạy hai chương trình + Hs : Kết quả bằng nhau + G : Ví dụ này cho thấy rằng chúng ta cĩ thể sử dụng câu lệnh whiledo thay cho câu lệnh fordo. + 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; while a<6 do writeln('A'); end. + Hs : Quan sát + 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". HS chú ý nghe LẶP VỚI SỐ LẦN CHƯA BIẾT TRƯỚC (tt) Ví dụ 4. Chương trình Pascal dưới đây thể hiện thuật tốn tính số n trong ví dụ 2: var S,n: integer; begin S:=0; n:=1; while S<=1000 do begin n:=n+1; S:=S+n end; writeln('So n nho nhat de tong > 1000 la ',n); writeln('Tong dau tien > 1000 la ',S); end. Ví dụ 5. Viết chương trình tính tổng Giải : Để viết chương trình tính tổng ta cĩ thể sử dụng lệnh lặp với số lần lặp biết trước fordo: T:=0; for i:=1 to 100 do T:=T+1/i; writeln(T); Nếu sử dụng lệnh lặp whiledo, đ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 whiledo thay cho câu lệnh fordo. 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. Củng cố và luyện tập Yêu cầu học sinh đọc ghi nhớ Nêu sự khác biệt giữa câu lệnh lặp với số lần biết trước và câu lệnh lặp với số lần chưa biết trước. Hướng dẫn học ở nhà Học bài Làm bài tập 3, 4, 5 trang 71 SGK Xem trước phần thực hành V. Rút kinh nghiệm
Tài liệu đính kèm: