Trường THCS Yên Phúc Tin học 7 Ngày soạn: 25/02/2011 Ngày giảng: 26/02/2011 Tiết: 45 Bài 8: LẶP VỚI SỐ LẦN CHƯA BIẾT TRƯỚC (tt) I. Mục đích: 1. Kiến thức: - Biết được nhu cầu 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. - Hiểu được 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 ngôn ngữ Pascal. 2. Kỹ năng: - Rèn khả năng đọc chương trình, phân tích tác dụng các câu lệnh. - Viết được câu lệnh lặp ở những bài toán đơn giản. 3. Thái độ: - Ham thích môn học. - Tích cực học tập. II. Chuẩn bị: 1. Đồ dùng dạy học - Giáo viên: - SGK, tài liệu, giáo án. - Đồ dùng dạy học: máy tính. - Học sinh: - Đọc trước bài và học bài ở nhà - SGK, Đồ dùng học tập. 2. Phương pháp - Phương pháp thử, trực quan, thảo luận nhóm, thực hành. IV. Các hoạt động dạy học: 1. Ổn định lớp: 2. Kiểm tra bài cũ:Kết hợp trong bài. 3. Bài mới: HOẠT ĐỘNG CỦA GV HOẠT ĐỘNG CỦA HS NỘI DUNG GV: Ở các tiết trước chúng ta đã được tìm hiều về các hoạt động lặp với số lần chưa biết trước, biết được cú pháp của câu lệnh và cách hoạt động của nó. Đã tìm hiểu một số ví dụ vận dụng câu lệnh lặp với số lần chưa biết trước vào giải Giáo viên Chu Quốc Tài 1 Trường THCS Yên Phúc Tin học 7 bài toán. Giờ học hôm nay chúng ta sẽ tìm hiểu sang ví dụ 5: GV ghi đầu bài lên bảng: GV: Trước khi vào tìm hiểu ví dụ 5 ta cùng nhau nhắc lại kiến thức ở các tiết trước: ?Nêu một vài ví dụ về hoạt động lặp với số lần chưa biết trước? GV: nhận xét và đưa ra một số ví dụ cho HS GV: ?Hãy nêu cú pháp của câu lệnh lặp với số lần chưa biết trước? GV nhận xét kết luận. GV: Trong Pascal có những chương trình ngoài việc sử dụng câu lệnh For do Ta cũng có thể sử dụng câu lệnh While do thay cho câu lệnh For do mà vẫn cho cùng một kết quả. Để hiểu rõ hơn các em tìm hiểu qua ví dụ 5. HS: suy nghĩ và trả lời: HS: Suy nghĩ và trả lời Tiết 45: LẶ P VỚI SỐ LẦN CHƯA BIẾT TRƯỚC (tt) 1. Các hoạt động lặp với số lần chưa biết trước. Ví dụ: - Tập lái xe đến khi biết lái - Học thuộc lòng một bài thơ cho tới khi bố mẹ kiểm tra là đã thuộc thì mới kết thúc, nếu không thì phải học lại… 2. Ví dụ về lệnh lặp với số lần chưa biết trước (tt). cú pháp: while <điều kiện> do <câu lệnh>; 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: (1) Kiểm tra điều kiện: (2) Nếu điều kiện SAI, câu lệnh sẽ bị bỏ qua và chuyển sang câu lệnh tiếp theo trong chương trình. Nếu điều kiện ĐÚNG, thực hiện câu lệnh và quay lại bước 1. Ví dụ 5: Viết chương trình tính tổng Giáo viên Chu Quốc Tài 2 100 1 3 1 2 1 1 ++++=T Trường THCS Yên Phúc Tin học 7 GV: Yêu cầu HS đọc đề bài. ?Bài toán trên là hoạt động lặp với số lần biết trước hay lặp với số lần chưa biết trước? ?Đề bài yêu cầu chúng ta làm gì? ?Ta sử dụng câu lệnh lặp nào để giải quyết bài toán? ?Em hãy cho thầy biết cú pháp của câu lệnh For do ? GV: Em hãy cho thầy biết giá trị đầu, giá trị cuối và câu lệnh là gì? Hs: - Giá trị đầu: 1 - Giá trị cuối: 100 - Câu lệnh: T := T + 1/i; GV: Cho HS chép chương trình vào vở. GV: Yêu cầu HS gõ chương trình vào máy và chạy thử. HS: trả lời: HS: Viết chương trình tính tổng HS: Lệnh lặp for…do… Hs: For <biến đếm>:= <giá trị đầu> To <giá trị cuối> Do <câu lệnh>; Hs: Giá trị đầu: 1 Giá trị cuối: 100 Câu lệnh: T := T + 1/i; HS: Chép bài vào vở. HS: Thực hành. Bài toán trên là hoạt động lặp với số lần biết trước Phân tích bài toán: T1=1 T2=T1+1/2 T3=T2+1/3 T100=T99+1/100 Nhận xét: Bắt đầu từ T2 việc tính T được lặp Bắt đầu từ T2 việc tính T được lặp đi lặp lại 99 lần theo quy luật đi lặp lại 99 lần theo quy luật T T sau sau = T = T trước trước + 1/i + 1/i với i chạy từ 2 với i chạy từ 2 → → 100 100 *) Giải bài toán bằng câu lệnh lặp với số lần biết trước: Cú pháp của câu lệnh For do For <biến đếm> := <giá trị đầu> To <giá trị cuối> Do <câu lệnh>; Program vidu5_1; Var i: integer; T: real; Begin T:=0; For i:=1 to 100 do T:=T+1/i; Writeln (T); End. Giáo viên Chu Quốc Tài 3 Trường THCS Yên Phúc Tin học 7 GV: Nếu sử dụng câu lệnh while… do thì điều kiện của chương trình là gì? GV: Vòng lặp sẽ dừng lại khi nào? GV: Cho HS chép chương trình vào vở. GV: Yêu cầu HS gõ chương trình vào máy và chạy thử. GV: Sau khi chạy thử 2 chương trình, em hãy cho biết kết quả? GV: Qua ví dụ này cho ta thấy rằng chúng ta có thể sử dụng câu lệnh While do thay cho câu lệnh for… do. Nhưng tùy trường hợp mà chúng ta sử dụng câu lệnh for…do… thay cho câu lệnh while…do… vì lệnh lặp while…do… chỉ phù hợp cho lệnh lặp với số lần chưa biết trước còn câu lệnh for…do phù hợp lệnh lặp với số lần biết trước. HS: i<=100 HS: Dừng lại khi i>100. HS: Chép bài. HS: Thực hành. HS: Kết quả giống nhau. Program vidu5_2; Var i: integer; T: real; Begin T:=0; i:=1; while i<=100 do begin T:=T+1/i; i:=i+1; end; end. Ta có thể sử dụng câu lệnh While do thay cho câu lệnh for… do 4. Củng cố: ?Trong các hoạt động dưới đây, hoạt động nào sẽ được thực hiện lặp lại với số lần chưa biết? A. Tính tổng của 20 số tự nhiên đầu tiên. B. Nhập một số hợp lệ, ví dụ số nguyên trong khoảng từ 0 đến 10, vào máy tính. Nếu số nhập vào không hợp lệ thì được yêu cầu nhập lại. C. Nhập các số nguyên từ bàn phím cho đến khi đủ 50 số. D. Nhập các số từ bàn phím và tính tổng cho đến khi lần đầu tiên nhận được tổng lớn hơn 1000 thì kết thúc Đáp án: B,D 5. Dặn dò: - Về nhà học bài. - Xem trước ví dụ 4, phần 3 giờ sau học tiếp. Giáo viên Chu Quốc Tài 4 . Trường THCS Yên Phúc Tin học 7 Ngày so n: 25/02/2011 Ngày giảng: 26/02/2011 Tiết: 45 Bài 8: LẶP VỚI SỐ LẦN CHƯA BIẾT TRƯỚC (tt) I. Mục đích: 1. Kiến thức: - Biết. hành. Bài toán trên là hoạt động lặp với số lần biết trước Phân tích bài toán: T1=1 T2=T1+1/2 T3=T2+1 /3 T100=T99+1/100 Nhận xét: Bắt đầu từ T2 việc tính T được lặp Bắt đầu từ T2 việc tính T được. nhóm, thực hành. IV. Các hoạt động dạy học: 1. Ổn định lớp: 2. Kiểm tra bài cũ:Kết hợp trong bài. 3. Bài mới: HOẠT ĐỘNG CỦA GV HOẠT ĐỘNG CỦA HS NỘI DUNG GV: Ở các tiết trước chúng ta đã được tìm