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í[r]
(1)Trường THCS Sơn Tiến D¹y líp: 8A; 8B; 8E TiÕt PPCT: 41 Gi¸o viªn: Ph¹m TuÊn Anh Ngµy so¹n: 23/01/2010 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 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 nào đó thoả mãn; - Nhận biết đâu là hoạt động lặp với số lần chưa biêt trước - Nghiêm túc 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 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 SUM 0; i Bước i i + Bước Nếu i ≤ 100, thì SUM SUM + i và quay lại bước Bước Thông báo kết 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 Các hoạt động lặp với số lần chưa biết trước + Hs : 2-3 hs đọc ví dụ sgk + G : Phân tích ví dụ a/ Ví dụ 1(sgk) + 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 b/ Ví dụ : Nếu cộng n số tự nhiên đầu tiên dẫn, sau đó tự xây dựng thuật (n = 1, 2, 3, ), Cần cộng bao nhiêu số tự nhiên đầu toán tiên để ta nhận tổng Tn nhỏ lớn 1000? + G : Chạy tay cho học sinh Giải : xem ( Chỉ nên chạy tay thử từ Kí hiệu S là tổng cần tìm và ta có thuật toán Gi¸o ¸n tin häc líp Lop8.net (2) Trường THCS Sơn Tiến đến 10 ) + Hs : Chú ý nghe Hs ghi ví dụ Gi¸o viªn: Ph¹m TuÊn Anh sau: + Bước S 0, n + Bước Nếu S ≤ 1000, n n + 1; ngược lại chuyển tới bước + Bước S S + n và quay lại bước + Bước In kết : S và n là số tự nhiên nhỏ cho S > 1000 Kết thúc thuật toán * Ta có sơ đồ khối : + G : Giới thiệu sơ đồ khối Hoạt động * Nhận xét : Để viết chương trình dẫn máy tính thực các hoạt động lặp 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 Ví dụ 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 + G : Có thể sử dụng lệnh lặp có dạng: với số lần lặp chưa biết trước while <điều kiện> <câu lệnh>; các chương trình lập trình đó: Sau đây ta xét câu lệnh và ví - điều kiện thường là phép so sánh; dụ TP + G : Nêu nhận xét + G : Giới thiệu cú pháp lệnh while … ….; + hs : chú ý nghe và ghi chép + G : Xét ví dụ Chúng ta biết rằng, n càng lớn thì càng nhỏ, luôn n luôn lớn Với giá trị nào n thì 1 < 0.005 < n n 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 thực sau: Bước : Kiểm tra điều kiện - Bước : Nếu điều kiện SAI, câu lệnh bị bỏ qua và việc thực lệnh lặp kết thúc Nếu điều kiện đúng, thực câu lệnh và quay lại bước Ví dụ Với giá trị nào n ( n>o ) thì 1 < 0.005 < n n 0.003 ? 0.003? Chương trình đây tính số n nhỏ để ( Gv đưa phim ví dụ ) + Hs : Đọc ví dụ ( Phim trong) nhỏ sai số cho trước : n Gi¸o ¸n tin häc líp Lop8.net (3) Trường THCS Sơn Tiến Gi¸o viªn: Ph¹m TuÊn Anh uses crt; + G : giới thiệu chương trình var x: real; mẫu sgk ( Giáo viên in chương n: integer; const sai_so=0.003; trình mẫu trên phim ) + Hs : quan sát begin + G : Chạy tay cho học sinh clrscr; x:=1; n:=1; xem + Hs : chú ý nghe và tự chạy tay while x>=sai_so begin n:=n+1; x:=1/n end; lại writeln('So n nho nhat de 1/n < ',sai_so:5:4, 'la + G : Yêu cầu học sinh mở máy ',n); readln tính và mở chương trình ví dụ end ( giáo viên chuẩn bị chương trình mẫu và đưa lên các máy ) + Hs : thực + G : Cho học sinh chạy chương trình trên máy + Hs : thực + 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 Củng cố: - Lấy ví dụ các hoạt động phải lặp lại với số lần chưa biết trước Hướng dẫn nhà: - Học bài - Nghiên cứu trước nội dung các phần còn lại Gi¸o ¸n tin häc líp Lop8.net (4)