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.
- 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 lặp đi lặp lại công việc đến khi điều kiện được thoả mãn.
2. Kỹ Năng
- 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
3. Thái độ: Nghiêm túc
II. CHUẨN BỊ
1. Giáo viên: giáo án, máy chiếu
2. Học sinh: Kiến thức cũ, sách, vở.
III - PHƯƠNG PHÁP
- Thuyết trình, giảng giải, vấn đáp.
IV - TIẾN TRÌNH LÊN LỚP
A - ỔN ĐỊNH (1’)
B - KIỂM TRA BÀI CŨ : kh«ng.
Ngày giảng: 8A,8C- 22/2 8B,E- 24/2 8D- 25/2 TiÕt 49 - 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. - 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 lặp đi lặp lại công việc đến khi điều kiện được thoả mãn. 2. Kỹ Năng - Hiểu hoạt động của câu lệnh lặp với số lần chưa biết trước whiledo 3. Thái độ: Nghiêm túc II. CHUẨN BỊ 1. Giáo viên: giáo án, máy chiếu 2. Học sinh: Kiến thức cũ, sách, vở. III - PHƯƠNG PHÁP - Thuyết trình, giảng giải, vấn đáp. IV - TIẾN TRÌNH LÊN LỚP A - ỔN ĐỊNH (1’) B - KIỂM TRA BÀI CŨ : kh«ng. C - BÀI MỚI (40’) HOẠT ĐỘNG CỦA THẦY VÀ TRÒ NỘI DUNG KIẾN THỨC Hoạt động 1: 15’ GV: Đưa ra một số ví dụ về lặp chưa biết trước HS: Chú ý lắng nghe và hiểu GV: Đưa ra ví dụ 1 SGK ? Điều kiện lặp trong ví dụ là gì? HS: Trả lời GV: Đưa ra ví dụ 2 ?Điều kiện lặp trong ví dụ là gì? HS: Trả lời Hoạt động 2: 25’ GV: Đưa ra câu lệnh lặp trong Pascal Hs: Chú ý và quan sát câu lệnh. - Ghi vở GV: đưa ví dụ 3 SGK - Giảng giải, hướng dẫn học sinh cách thực hiện câu lệnh trong bài tập này HS: Chú ý lắng nghe và quan sát HS: Gõ bài tập vào máy tính và chạy thử chương trình 1. Các hoạt động lặp với số lần chưa biết trước Trong thực tế có nhiều hoạt động được thực hiện lặp đi lặp lại với số lần chưa được biết trước. Ví dụ 1. (SGK) Điều kiện để kết thúc hoạt động lặp đó là có người nhấc máy. Ví dụ 2. (SGK) Kí hiệu S là tổng cần tìm và ta có thuật toán như sau: Bước 1. S = 0, n = 0. Bước 2. Nếu S ≤ 1000, n ¬ n + 1; ngược lại chuyển tới bước 4. Bước 3. S ¬ S + n và quay lại bước 2. Bước 4. In kết quả: S và n là số tự nhiên nhỏ nhất sao cho S > 1000. Kết thúc thuật toán. Việc thực hiện phép cộng ở thuật toán trên được lặp lại với số lần chưa biết trước, phụ thuộc vào một điều kiện (S ≤ 1000) và chỉ dừng khi điều kiện đó sai. 2. Ví dụ về lệnh lặp với số lần chưa biết trước Trong Pascal câu lệnh lặp với số lần chưa biết trước có dạng: while do ; trong đó: điều kiện thường là một phép so sánh; câu lệnh có thể là câu lệnh đơn giản hay câu lệnh ghép. Câu lệnh lặp này được thực hiện như sau: Kiểm tra điều kiện. Nếu điều kiện SAI, câu lệnh sẽ bị bỏ qua và việc thực hiện lệnh lặp kết thúc. Nếu điều kiện ĐÚNG, thực hiện câu lệnh và quay lại bước 1. Ví dụ 3. Chúng ta biết rằng, nếu n càng lớn thì càng nhỏ, nhưng luôn luôn lớn hơn 0. Với giá trị nào của n thì < 0.005 hoặc < 0.003? Chương trình dưới đây tính số n nhỏ nhất để nhỏ hơn một sai số cho trước: uses crt; var x: real; n: integer; const sai_so=0.003; begin clrscr; x:=1; n:=1; while x>=sai_so do begin n:=n+1; x:=1/n end; writeln('So n nho nhat de 1/n < ',sai_so:5:4, 'la ',n); readln end. Nếu chạy chương trình này, ta sẽ nhận được kết quả n = 334. Thay điều kiện sai_so =0.003 lần lượt bằng các điều kiện sai_so =0.002 và sai_so =0.001, ta nhận được các kết quả n = 501 và n = 1001. Có thể kiểm tra các kết quả này bằng một phép chia đơn giản. D - CỦNG CỐ (3’) - Hiểu các hoạt động lặp với số lần chưa biết trước - Biết sử dụng câu lệnh while..do E - HƯỚNG DẪN VỀ NHÀ (1’) - Về nhà xem lại bài học tiết sau chúng ta học tiếp. Ngày giảng: 8A: 8B: 8C:. 8D:. 8E:.. TiÕt 50: LẶP VỚI SỐ LẦN CHƯA BIẾT TRƯỚC (T2) 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. - 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 lặp đi lặp lại công việc đến khi điều kiện được thoả mãn. 2. Kỹ Năng - Hiểu hoạt động của câu lệnh lặp với số lần chưa biết trước whiledo 3. Thái độ: Nghiêm túc II. CHUẨN BỊ 1. Giáo viên: giáo án, máy chiếu 2. Học sinh: Kiến thức cũ, sách, vở. III - PHƯƠNG PHÁP - Thuyết trình, giảng giải, vấn đáp. IV - TIẾN TRÌNH LÊN LỚP A - ỔN ĐỊNH (1’) B - KIỂM TRA BÀI CŨ (3’) 1. Hãy viết câu lệnh lặp với số lần chưa biết trước trong Pascal? ............................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................. C - BÀI MỚI (38’) HOẠT ĐỘNG CỦA THẦY VÀ TRÒ NỘI DUNG KIẾN THỨC Hoạt động 1: 13’ GV: đưa ví dụ 4 SGK - Giảng giải, hướng dẫn học sinh cách thực hiện câu lệnh trong bài tập này HS: Chú ý lắng nghe và quan sát HS: Gõ bài tập vào máy tính và chạy thử chương trình Hoạt động 2: 15’ GV: đưa ví dụ 5 SGK - Giảng giải, hướng dẫn học sinh cách thực hiện câu lệnh trong bài tập này HS: Chú ý lắng nghe và quan sát HS: Gõ bài tập vào máy tính và chạy thử chương trình Hoạt động 3: 10’ GV: Hướng dẫn học sinh cách thực hiện một số lỗi trong chương trình HS: Chú ý lắng nghe và ghi vở 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. 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 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); 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. 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. 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". D - CỦNG CỐ (3’) - Hiểu các hoạt động lặp với số lần chưa biết trước - Biết sử dụng câu lệnh while..do E - HƯỚNG DẪN VỀ NHÀ (2’) - Về nhà xem lại bài học tiết sau chúng ta học tiếp.
Tài liệu đính kèm: