Giáo án Tin học 8 - Tiết 47+48, Bài 8: Lặp với số lần chưa biết trước - Đinh Thị Dịu
Bài 8. LẶP VỚI SỐ LẦN CHƯA BIẾT TRƯỚC (tt)
I. Mục tiêu:
1. Kiến thức:
- Biết được cú pháp và hoạt động của câu lệnh lặp với số lần không biết trước.
- Biết được một số lỗi lập trình cần tránh.
2. Kĩ năng:
- Rèn luyện kĩ năng sử dụng các câu lệnh lặp không xác định trong Pascal
3. Thái độ:
- Thái độ học tập nghiêm túc, yêu thích môn học.
II. Chuẩn bị:
1. Giáo viên: Sách giáo khoa, máy tính điện tử.
2. Học sinh: Sách giáo khoa, vở ghi.
III. Tiến trình bài dạy:
1. Ổn định lớp(1p).
2. Kiểm tra bài cũ.(5p)
? Hãy nêu cú pháp câu lệnh lặp while do. Câu lệnh lặp dược thực hiện như thế nào?
Đáp án: cú pháp câu lệnh lặp while do là: while< điều kiện> do < câu lệnh>;
Tuần : 26 Tiết : 47 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: - Hiểu 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; - Hiểu 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: - Rèn luyện kĩ năng sử dụng các câu lệnh trong Pascal 3. Thái độ: - Thái độ học tập nghiêm túc, yêu thích môn học. II. Chuẩn bị: Giáo viên: Sách giáo khoa, máy tính điện tử. Học sinh: Sách giáo khoa, vở ghi. III. Tiến trình bài dạy: Ổn định lớp(2p) Kiểm tra bài cũ. - Kết hợp, lồng ghép vào các hoạt động tìm hiểu bài mới. Bài mới Hoạt động của thầy Hoạt động của trò Nội dung Hoạt động 1: Các hoạt động lặp với số lần chưa biết trước(13p). ? Hãy kể tên những hoạt động được thực hiện lặp đi lặp lại với số lần không thể xác định được? *Tìm hiểu ví dụ 1. - TH1: Một ngày chủ nhật Long gọi điện cho Tuấn. Không có ai nhấc máy. Long quyết định gọi lại thêm 2 lần nữa. Như vậy Long đã biết trước là mình sẽ lặp lại gọi điện thêm 3 lần. -TH2: Một ngày khác, Long quyết định cứ 10 phút gọi điện một lần cho Tuấn cho đến khi có người bắt máy. ? Long sẽ lặp lại việc gọi điện mấy lần. Điều kiện để kết thúc hoạt động lặp đó là gì? *Tìm hiểu 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? ? Tìm hiểu các bước của thuật toán trong ví dụ này. - Nhận xét. Hoạt động 2: ví dụ về lệnh lặp với số lần chưa biết trước( 15p). - Trong pascal câu lệnh lặp với số lần chưa biết trước có dạng: * Cú pháp: While do ; - Trong đó: Điều kiện là gì? Câu lệnh là gì? Câu lệnh lặp được thực hiện như thế nào? - Ví dụ 4. Chương trình Pascal dưới đây thực hiện thuật toán tính tổng n số trong ví dụ 2. - Yêu cầu học sinh tìm hiểu chương trình ở SGK. ? Hãy cho biết kết quả nhận được sau khi chạy chương trình. Học sinh chú ý lắng nghe, trả lời câu hỏi. + Chưa thể biết trước được, có thể một lần, có thể hai lần hoặc nhiều hơn nữa. + Điều kiện để kết thúc hoạt động lặp đó là có người nhấc máy. + Đọc kĩ đề bài + Trả lời câu hỏi. Học sinh chú ý lắng nghe => ghi nhớ kiến thức. Học sinh nghiên cứu SGK + Đ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. => hoạt động: - B1. Kiểm tra điều kiện. - B2. Nếu điều kiện sai, câu lệnh sẽ bị bỏ qua và việc thực hiện câu 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 B1. + Nghiên cứu chương trình ở SGK theo yêu cầu của giáo viên. + Kết quả nhận được sau khi chạy chương trình là n = 45 và tổng tiên lớn hơn 1000 là 1035. 1. Các hoạt động lặp với số lần chưa biết trước. + Ví dụ 1: * Ví dụ 2: + 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 ¬ 1. - 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 * 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ần lặp với số lần chưa biết trước. + Cú pháp: While do ; + Đ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. + Hoạt động: - B1. Kiểm tra điều kiện. - B2. Nếu điều kiện sai, câu lệnh sẽ bị bỏ qua và việc thực hiện câu 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 B1 4. Củng cố- Dặn dò (5phút) Câu 1: câu lệnh lặp For do là câu lệnh lặp với số lần chưa biết trước. a. Đúng b. Sai Đáp án: b câu 2: câu lệnh lặp với số lần biết trước có dạng: a. while:= to do ; b. while do ; c. while do ; Đáp án: c - Đọc ghi nhớ trong SGK. - Về nhà học bài, kết hợp SGK V. Tổng kết – Rút kinh nghiệm: Tuần : Tiết : Bài 8. LẶP VỚI SỐ LẦN CHƯA BIẾT TRƯỚC (tt) I. Mục tiêu: 1. Kiến thức: - Biết được cú pháp và hoạt động của câu lệnh lặp với số lần không biết trước. - Biết được một số lỗi lập trình cần tránh. 2. Kĩ năng: - Rèn luyện kĩ năng sử dụng các câu lệnh lặp không xác định trong Pascal 3. Thái độ: - Thái độ học tập nghiêm túc, yêu thích môn học. II. Chuẩn bị: Giáo viên: Sách giáo khoa, máy tính điện tử. Học sinh: Sách giáo khoa, vở ghi. III. Tiến trình bài dạy: Ổn định lớp(1p). Kiểm tra bài cũ.(5p) ? Hãy nêu cú pháp câu lệnh lặp whiledo. Câu lệnh lặp dược thực hiện như thế nào? Đáp án: cú pháp câu lệnh lặp while do là: while do ; Trong đó: - Điều kiện thường là một phép so sánh; - Câu lệnh là câu lệnh đơn giản hay câu lệnh ghép. Hoạt động của câu lệnh lặp: - 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 Bài mới. Hoạt động của thầy Hoạt động của trò Nội dung Hoạt động 1: ví dụ về lệnh lặp với số lần chưa biết trước. * ví dụ 3( 14p) GV: Yêu cầu học sinh gõ chương trình vào máy tính, chạy chương trình và nhận kết quả chương trình đưa ra. * ví dụ 5 (15p) để viết chương trình tính tổng T= 1+1/2+1/3+...+ 1/100 ta có sử dụng lệnh lặp với số lần lặp biết trước for...do : Sử dụng câu lệnh while ...do. GV: yêu cầu học sinh rút ra nhận xét khi dùng 2 câu lệnh. Hoạt động 2:(8p) Tìm hiểu lặp vô hạn và những lỗi lập trình cần tránh. -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. - GV 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: Đọc yêu cầu và gõ chương trình vào máy. Đọc kết quả nhận được. Học sinh đọc đầu bài và nhập chương trình vào máy bằng câu lệnh fordo và câu lệnh while do . - HS: nhận xét kết quả nhận được khi sử dụng 2 câu lệnh. HS: chú ý lắng nghe và ghi nhớ kiến thức. 2. ví dụ về lệnh lặp với số lần chưa biết trước. *ví dụ 3: Nếu chạy chương trình ta sẽ nhận được kết quả n= 334( sai số là 0.00299). 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à 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ả bằng phép chia đơn giản. * ví dụ 5 Chúng ta có thể sử dụng câu lệnh while ...do thay cho câu lệnh for ...do. 3. Lặp vô hạ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. 4. củng cố - dặn dò(3p) - Đọc phần ghi nhớ SGK. - Về nhà học bài, kết hợp SGK. - Làm bài tập SGK (T70). - Xem trước bài thực hành 6 chuẩn bị cho giờ sau. VI. Tổng kết – Rút kinh nghiệm:
File đính kèm:
- Giao_an_tin_hoc_8.doc