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 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 thỏa mản.
- Biết lệnh ghép trong pascal.
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 trong pascal.
3. Thái độ
- Nghiêm túc trong học tập, có tinh thần học hỏi, sáng tạo .
II. CHUẨN BỊ
1. Nội dung:
- Các hoạt động lặp với số lần chưa biết trước.
- Ví dụ về lệnh lặp với số lần chưa biết trước.
2. Đồ dùng:
- Giáo viên: Sách giáo khoa, giáo án, bài tập.
- Học sinh:Sách giáo khoa, vở, viết, thước kẻ. Xem bài mới trước khi lên lớp.
Tuần: 20 Tiết 38 Ngày soạn: 25 Bài 8 : LẶP VỚI SỐ LẦN CHƯA BIẾT TRƯỚC (tt) I. MỤC TIÊU 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 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 thỏa mản. - Biết lệnh ghép trong pascal. 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 trong pascal. 3. Thái độ - Nghiêm túc trong học tập, có tinh thần học hỏi, sáng tạo . II. CHUẨN BỊ Nội dung: - Các hoạt động lặp với số lần chưa biết trước. - Ví dụ về lệnh lặp với số lần chưa biết trước. Đồ dùng: - Giáo viên: Sách giáo khoa, giáo án, bài tập. - Học sinh:Sách giáo khoa, vở, viết, thước kẻ. Xem bài mới trước khi lên lớp. III. HOẠT ĐỘNG DẠY HỌC Tổ chức lớp (2’) - Ổn định tổ chức. - Kiểm tra sĩ số học sinh. + Lớp 8A1: + Lớp 8A2: - Phân nhóm học tập. Kiểm tra bài cũ (5') * Câu hỏi: Trình bày nguyên tắc hoạt động của câu lệnh lặp với số lần chưa biết trước whiledo? * Trả lời: Bài mới: * Giới thiệu bài: (1’) - Trong bài trước chúng ta đã làm quen với các hoạt động lặp và cách chỉ thị cho máy tính thực hiện các hoạt động lặp với số lần đã được xác định trước, chẳng hạn, để tính tổng các số nguyên từ 1 đến 100. Trong thực tế có nhiều hoạt động được thực hiện được lặp đi lặp lại với số lần chưa biết trước. Để thực hiện được các câu lệnh lặp như thế này trong pascal, hôm nay ta đi vào nội dung mới. * Tiến trình bài dạy: TG Hoạt động giáo viên Hoạt động học sinh Nội dung 10' Hoạt động 1: Tìm hiểu một số ví dụ 1. Ví dụ: Ví dụ 3: Viết chương trình tính số n nhỏ nhất để 1/n nhỏ hơn một sai số cho trước (với giá trị nào của n thì 1/n<0.005 hoặc 1/n<0.003) Program tinhn; Uses crt; Var x:real; N:integer; Const saiso=0.003; Begin X:=1; n:=1; While x>=saiso do Begin N:=n+1; x:=1/n; End; Writeln ('so n nho nhat de 1/n <' ,saiso,'la', n); Readln; End. - Đưa ra ví dụ 3 SGK: - Chúng ta biết rằng, nếu n càng lớn thi 1/n càng nhỏ. Vậy người ta hỏi với giá trị nào của n thì 1/n<0.005 hoặc 1/n<0.003. - Yêu cầu ở đây đưa ra là gì? - Rỏ ràng để tìm giá trị n ta phải tăng n này lên từng bước, và ta sẽ tính giá trị này theo từng mức tương ứng đó. Đến khi điều kiện thỏa mản thì thôi. - Ở đây sai số này có dạng là một số thập phân, vậy ta phải khai báo chúng theo kiểu dữ liệu nào đây? - Hướng dẫn học sinh viết chương trình. - Chú ý. - Lắng nghe. - Tìm giá trị n thỏa mản điều kiện trên. - Chú ý. - Vì dạng thập phân ta sẽ khai báo chúng dưới dạng real.. - Chú ý theo dõi. - Ghi bài vào vở. 6' - Nêu yêu cầu ví dụ 4. - Nhắc lại thuật toán này trong ví dụ 2. - Gọi một học sinh lên trình bày. B1: . B2: Nếu ; ngược lại, chuyển tới B4. B3: và quay lại B2. B4: 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. - Lên bảng. Ví dụ 4: Viết chương trình thể hiện thuật toán tính tổng của n số trong ví dụ 2: Var s,n:integer; Begin S:=0; n:=1; While s<=1000 do Begin S:=s+n; N:=n+1 End; Writeln ('so n nho nhat de tong>1000 la' , n); - Nhận xét, hướng dẫn viết chương trình. - Chú ý theo dõi. Writeln ('tong dau tien >1000 la', s); Readln; End. 10' - Xét ví dụ 5. - Yêu cầu học sinh nhắc lại cách tính tổng của 100 số tự nhiên đầu tiên. - Tương tự như thế, ta cũng có thể viết được chương trình này bằng cách sử dụng vòng lặp for do. - Nhận xét. - Tương tự hướng dẫn học sinh viết chương trình này nhờ vào lệnh while..do. - Theo dõi. - t:=t+i - Lên bảng trình bày. - Chú ý theo dõi. - Ghi bài vào vở. Ví dụ 5: Viết chương trình tính tổng T=1+1/2 + 1/3 +...+1/100 (Sử dụng vòng lặp for..do và while..do) Sử dụng vòng lặp for ...do T:=0; For i:=1 to 100 do T:=t+ 1/i; Writeln (t); Sử dụng vòng lặp while..do T:=0; i:=1; While i<=100 do T:=t+1/i; Writeln (t); 5’ Hoạt động2: 3. Lặp vô hạn lần – lỗi lập trình cần tránh: 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". - Đưa ra chương trình lặp lại vô tận. - Hướng dẫn cho học sinh hiểu. - Chỉ ra giá trị của biến a luôn luôn đúng nên lệnh luôn được thực hiện. - Chú ý theo dõi bảng. - Lắng nghe. 5' Hoạt động 3: Củng cố - Hệ thống toàn bộ kiến thức. - Hướng dẫn làm bài tập SGK. - Chú ý lắng nghe. - Trả lời. 4. Dặn dò: (1’) - Học bài và xem trước nội dung còn lại. IV. RÚT KINH NGHIỆM
Tài liệu đính kèm: