I.Mục tiêu:
1. Kiến thức:
- Biết câu lệnh lặp với số lần chưa biết trước while.do trong Pascal.
2. Kĩ năng:
- Lấy được các ví dụ cụ thể về câu lệnh lặp với số lần chưa biết trước.
3. Thái độ:
- Nghiêm túc trong quá trình hcọ tập và rèn luyện.
II. Chuẩn bị
1.Giáo viên: SGK, giáo án, máy tính
2. Học sinh: SGK, đồ dùng học tập
III. Tiến trình bài dạy
1. Ổn định:
2. Kiểm tra bài cũ:
Trong quá trình học
Ngày soạn: ......................................... Ngày giảng: ..................................................... Tiết 50: Bài 8: LẶP VỚI SỐ LẦN CHƯA BIẾT TRƯỚC (Tiếp theo) I.Mục tiêu: 1. Kiến thức: - Biết câu lệnh lặp với số lần chưa biết trước while...do trong Pascal. 2. Kĩ năng: - Lấy được các ví dụ cụ thể về câu lệnh lặp với số lần chưa biết trước. 3. Thái độ: - Nghiêm túc trong quá trình hcọ tập và rèn luyện. II. Chuẩn bị 1.Giáo viên: SGK, giáo án, máy tính 2. Học sinh: SGK, đồ dùng học tập III. Tiến trình bài dạy 1. Ổn định: 2. Kiểm tra bài cũ: Trong quá trình học 3. Bài mới HOẠT ĐỘNG CỦA GV VÀ HS KIẾN THỨC CẦN ĐẠT GV: Cho học sinh đọc lại phần mô tả thuật toán của ví dụ 2. Gv: Cho HS quan sát chương trình và nêu ý nghĩa của từng câu lệnh HS: Làm việc theo nhóm, đại diện một nhóm lên nêu ý nghĩa còn các nhóm khác nhận xét và bổ sung GV: Nhận xét và bổ sung. GV: Cho HS ghi chương trình GV: Đưa chương trình lên máy tính và chay kết quả cho HS quan sát HS: Quan sát GV : Chạy chương trình này, ta nhận được giá trị như thế nào? 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. GV : Cho HS đọc ví dụ 5 và nêu yêu cầu của bài toán. HS: Đọc và nêu yêu cầu GV: Yêu cầu HS so sánh đoạn chương trinh dùng lệnh For ...do và đoạn chương trình dùng lệnh While ...do HS: Đều cho một kết quả GV: Cho HS hoạt động theo nhóm làm hoàn chỉnh hai chương trình của ví dụ và đại diện hai nhóm lên viết chương trình các nhóm khác bổ sung HS: Hoạt động theo nhóm GV: Chạy chương đã chuẩn bị sẳn trên máy tính cho học sinh quan sát và sửa lỗi. HS: Quan sát và sửa lỗi GV: So sánh kết quả khi chạy hai chương trình HS : Kết quả bằng nhau 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 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. 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 GV : Cho HS quan sát kết quả khi chạy ví dụ trên máy tính (GV chuẩn bị sẳn) HS : Quan sát GV: 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, HS : Chú ý nghe 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. Ví dụ: Với chương trình này khi chạy sẽ cho kết quả lặp vô tận. var a:integer; begin a:=5; while a<6 do writeln('A'); end. - 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". 4. Củng cố: - Nhắc lại kiến thức cơ bàn của vòng lặp cho học sinh nắm 5. Dặn dò: - Học lại bài, làm bài tập và đọc bài thực hành IV. RÚT KINH NGHIỆM : *****&*****
Tài liệu đính kèm: