I. Mục tiờu:
- 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;
- Nhận biết được đõu là hoạt động lặp với số lần chưa biờt trước.
- Nghiờm tỳc trong quỏ trỡnh nghiờn cứu và thực hành.
II. Chuẩn bị:
- GV: Soạn bài, đọc tài liệu tham khảo, dụng cụ học dạy học.
- HS: Xem bài trước ở nhà, dụng cụ học tập.
Dạy lớp: 8A; 8B; 8E. Ngày soạn: 23/01/2010. Tiết PPCT: 41. Ngày dạy: 25/01/2010. BàI 8: Lặp với số lần lặp chưa biết trước. (T1) I. Mục tiờu: - 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; - Nhận biết được đõu là hoạt động lặp với số lần chưa biờt trước. - Nghiờm tỳc trong quỏ trỡnh nghiờn cứu và thực hành. II. Chuẩn bị: - GV: Soạn bài, đọc tài liệu tham khảo, dụng cụ học dạy học. - HS: Xem bài trước ở nhà, dụng cụ học tập. III. Tiến trỡnh bài giảng: Hoạt động của GV và HS Nội dung Hoạt động 1: Kiểm tra bài củ Viết thuật toỏn tớnh tổng 100 số tự nhiờn đầu tiờn 1,2,3,,99,100 Trả lời Bước 1. SUM ơ 0; i ơ 0. Bước 2. i ơ i + 1. Bước 3. Nếu i ≤ 100, thỡ SUM ơ SUM + i và quay lại bước 2. Bước 4. Thụng bỏo kết quả và kết thỳc thuật toỏn. + G : y/c hs đọc vớ dụ 1sgk/67 + Hs : 2-3 hs đọc vớ dụ sgk + G : Phõn tớch vớ dụ + Hs : Chỳ ý lắng nghe + G : y/c hs đọc vớ dụ 1sgk/67 + Hs : 2-3 hs đọc vớ dụ sgk + G : Phõn tớch vớ dụ + Hs : chỳ ý lắng nghe + G : Hướng dẫn hs xõy dựng thuật toỏn + Hs : Nghe giỏo viờn hướng dẫn, sau đú tự xõy dựng thuật toỏn + G : Chạy tay cho học sinh xem ( Chỉ nờn chạy tay thử từ 1 đến 10 ) + Hs : Chỳ ý nghe . Hs ghi vở vớ dụ 2 + G : Giới thiệu sơ đồ khối Hoạt động 2 + G : Nờu nhận xột + G : Cú thể sử dụng lệnh lặp với số lần lặp chưa biết trước trong cỏc chương trỡnh lập trỡnh . Sau đõy ta xột cõu lệnh và vớ dụ trong TP + G : Giới thiệu cỳ phỏp lệnh while do .; + hs : chỳ ý nghe và ghi chộp + G : Xột 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 ? ( Gv đưa phim trong vớ dụ 3 ) + Hs : Đọc vớ dụ 3 ( Phim trong) + G : giới thiệu chương trỡnh mẫu sgk ( Giỏo viờn in chương trỡnh mẫu trờn phim trong ) + 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ụ 3 ( 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 : Yờu cầu hs thay điều kiện sai_so = 0.003 thành 0.002 ; 0.001 ; 0.005 ; ... + Hs : thực hiện 1. Cỏc hoạt động lặp với số lần chưa biết trước a/ Vớ dụ 1(sgk). b/ Vớ dụ 2 : Nếu cộng lần lượt n số tự nhiờn đầu tiờn (n = 1, 2, 3,...), Cần cộng bao nhiờu số tự nhiờn đầu tiờn để ta nhận được tổng Tn nhỏ nhất lớn hơn 1000? Giải : 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. * Ta cú sơ đồ khối : * Nhận xột : Để viết chương trỡnh chỉ dẫn mỏy tớnh thực hiện cỏc hoạt động lặp như trong cỏc vớ dụ trờn, ta cú thể sử dụng cõu lệnh cú dạng lặp với số lần chưa biết trước 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: Bước 1 : Kiểm tra điều kiện. Bước 2 : 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. Với giỏ trị nào của n ( n>o ) 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. 2. Củng cố: - Lấy vớ dụ về cỏc hoạt động phải lặp lại với số lần chưa biết trước 3. Hướng dẫn về nhà: - Học bài - Nghiờn cứu trước nội dung cỏc phần cũn lại
Tài liệu đính kèm: