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