Ngày soạn : 27/10/2007 Tiết thứ: 12 Ngày giảng : 30/10/2007 Tên bài giảng: Cấu trúc lặp I. Mục đích yêu cầu 1. Kiến thức - Biết đợc ý nghĩa của cấu trúc lặp - Biết đợc cấu trúc chung của lệnh lặp For trong ngôn ngữ lập trình Pascal. - Biết sử dụng đúng hai dạng lệnh lặp For trong ngôn ngữ lập trình Pascal 2. Kỹ năng - Bớc đầu sử dụng đợc lệnh lặp For để lập trình giải quyết một số bài toán đơn giản. II. Ph ơng pháp, ph ơng tiện giảng bài Phơng pháp: Thuyết trình, giảng giải Phơng tiện: SGK, SGV III. Tiến trình bài giảng Nội dung Hoạt động của giáo viên và học sinh Thời gian Kiểm tra bài cũ Bài tập: Nhập vào 3 số thực dơng và kiểm tra xem 3 số đó có là số đo 3 cạnh của tam giác không? Câu hỏi thêm: Nếu là tam giác thì tính diện tích và chu vi. Bài 10 Đ12 Cấu trúc lặp 1. Lặp Xét bài toán sau: In ra màn hình 100 dòng xâu: Xin chao cac ban GV: Đa ra đề bài và gọi HS lên bảng. HS: Suy nghĩ và lên bảng làm. GV: Tiết trớc các em đã đợc tìm hiểu về cấu trúc rẽ nhánh. Hôm nay chúng ta sẽ tìm hiểu về cấu trúc lặp. GV: Cho HS suy nghĩ và gọi 1 HS lên bảng làm. HS: Lên bảng làm. 10 phút 30 phút * Cấu trúc lặp mô tả thao tác lặp và đợc phân biệt hai loại là lặp với số lần biết trớc và lặp với số lần cha biết trớc 2. Lặp với số lần biết tr ớc và câu lệnh for-do a, Cấu trúc Câu lệnh lặp for-do có 2 dạng - Dạng lặp tiến: for <biến đếm>:=<giá trị đầu> to <giá trị cuối> do <Câu lệnh> VD: for i:=1 to 100 do Writeln(Xin chao); - Dạng lặp lùi: for <biến đếm>:=<giá trị cuối> downto <giá trị đầu> do <Câu lệnh> VD: for i:=100 downto 1 do Writeln(Xin chao); - Biến đếm có kiểu đếm đợc (kiểu nguyên, kí tự, miền con) và thờng dùng kiểu nguyên. - Giá trị đầu và giá trị cuối có thể là biểu thức và có cùng kiểu với biến đếm - Điều kiện của vòng lặp là giá trị đầu <= giá trị cuối. b, Hoạt động - Lặp tiến: câu lệnh sau từ khoá DO đợc thực hiện tuần tự với biến đếm lần lợt nhận các giá trị liên tiếp tăng từ giá trị đầu đến giá trị cuối. - Lặp lùi: : câu lệnh sau từ khoá DO đợc thực hiện tuần tự với biến đếm lần lợt nhận các giá trị liên tiếp giảm từ giá trị cuối đến giá trị đầu. GV: Các em thấy chơng trình này thế nào? HS: Trả lời. GV: Mỗi lần in ra phải viết bao nhiêu câu lệnh? HS: Trả lời. GV: Chơng trình trên đợc viết nh vậy sẽ rất dài, khó đọc, dễ sai sót. Cần phải có cấu trúc điều khiển việc lặp đi lặp lại 1 hoặc nhiều công việc nào đó. Để mô tả cấu trúc lặp với số lần biết trớc thì Pascal dùng câu lệnh For-do GV: Mời các em đọc SGK trang 43, 44 để tìm hiểu về câu lệnh lặp for-do GV: Biến đếm, giá trị đầu, giá trị cuối có kiểu gì? GV: Điều kiện gì để vòng lặp for- do có thể thực hiện đợc. HS: Chú ý lắng nghe GV: Gọi HS lên bảng giải bài tập. GV: - Về nhà hoàn thành nốt các bài tập vào vở. - Xem trớc phần nội dung cấu trúc lặp với số lần cha xác định While-do - Xem nội dung phụ lục B, SGK tr131: Lệnh rẽ nhánh và lặp - Xem nội dung phụ lục C, SGK tr139: Lệnh rẽ nhánh và lặp c, Chú ý - for-to-do là các từ khoá vì vậy không đợc thay đổi chúng. - Giá trị của biến đếm đợc điều chỉnh tự động, vì vậy câu lệnh viết sau DO không đợc thay đổi giá trị biến đếm. - Các giá trị đầu và giá trị cuối có thể là những biểu thức. Trong tr- ờng hợp này, giá trị của biểu thức đợc tính trớc khi vào vòng lặp và làm nhiệm vụ giá trị đầu và giá trị cuối. Do đó trong vòng lặp nếu có biến nào trong hai biểu thức này bị thay đổi giá trị thì giá trị đầu và giá trị cuối vẫn không thay đổi. 3. Vận dụng Giải bài sau: Tính tổng S S= + a 1 100 1 2 1 1 1 + ++ + + + aaa - Xác định S ban đầu và số lần lặp - Viết chơng trình Program Tong_s; Var S:real; i, a:Integer; BEGIN Writeln(Nhap a nguyên (a >2) ); Write(a=);readln(a); S:=1.0/a; For i:=1 to 100 do S:=S+1/(a+i); Write(Tong S=,S); Readln; END. Bài 5a,6 SGK 5 phút NhËn xÐt cña gi¸o viªn híng dÉn Ngµy 27 th¸ng 10 n¨m 2007 Gi¸o viªn híng dÉn . tập. GV: - Về nhà hoàn thành nốt các bài tập vào vở. - Xem trớc phần nội dung cấu trúc lặp với số lần cha xác định While-do - Xem nội dung phụ lục B, SGK tr131: Lệnh rẽ nhánh và lặp - Xem nội. lặp c, Chú ý - for-to-do là các từ khoá vì vậy không đợc thay đổi chúng. - Giá trị của biến đếm đợc điều chỉnh tự động, vì vậy câu lệnh viết sau DO không đợc thay đổi giá trị biến đếm. - Các giá. dùng kiểu nguyên. - Giá trị đầu và giá trị cuối có thể là biểu thức và có cùng kiểu với biến đếm - Điều kiện của vòng lặp là giá trị đầu <= giá trị cuối. b, Hoạt động - Lặp tiến: câu lệnh