Tiết: 13, 14, 15 Tên bài dạy.: Bài 10: CẤUTRÚCLẶP I. MỤC TIÊU 1. Kiến thức: - Hiểu nhu cầu của cấutrúclặp trong biểu diễn thuật toán - Hiểu cấutrúclặp với số lần biết trước, cấutrúclặp kiểm tra điều kiện trước - Biết cách vận dụng đúng đắn từng loại cấutrúclặp vào tình huống cụ thể 2. Kỹ năng: - Mô tả được thuật toán của một số bài toán đơn giản có sử dụng lệnh lặp - Viết được thuật toán của một số bài toán đơn giản. II. PHƯƠNG TIỆN DẠY HỌC 1. Giáo viên: Máy chiếu, demo các ví dụ 2. Học sinh: Theo sự hướng dẫn của tiết trước III. NỘI DUNG 1.Ổn đònh lớp: Kiểm tra só số lớp 2.Kiểm tra bài cũ(5’) 3.Bài mới: NỘI DUNG HOẠT ĐỘNG CỦA THẦY/ TRÒ TG 1. Lặp Với a là số nguyên và a > 2. Bài toán 1: (Xem Sgk) Bài toán 2: (Xem Sgk) Cách giải: - Bắt đầu S được gán với giá trò 1/a. - Tiếp theo mỗi lần cộng thêm vào S là 1/ (a+N) với N = 1, 2, 3, … - Với bài toán 1, việc cộng thêm dừng khi 1/(a+N) < 0.0001, => số lần lặp chưa biết trước. - Với bài toán 2, việc cộng thêm dừng khi N = 100, => số lần lặp đã biết trước. Trong lập trình, có những thao tác phải lặp lại nhiều lần, khi đó ta gọi là cấutrúc lặp. Lặp thường có 2 loại: - Lặp với số lần biết trước - Lặp với số lần không biết trước. NNLT nào cũng cung cấp một số câu lệnh để mô tả các cấutrúclặp như trên. Sau đây chúng ta sẽ tìm hiểu các câu lệnh lặp Gv: Đặt vấn đề vào bài mới Hoạt động 1: GV: Nêu bài toán 1 và 2 lên bảng HS: Xem Sgk GV: Yêu cầu HS nêu ý tưởng giải các bài toán này HS1: Đưa ra cách giải HS2: GV: Đưa ra cách giải cho bài toán Giải theo các câu lệnh tuần tự S1:= 0; If (1/a>0.0001) then S1:=S1+1/a; If (1/a>0.0001) then S1:=S1+1/(a+1); If (1/a>0.0001) then S1:=S1+1/(a+2); If (1/a>0.0001) then S1:=S1+1/(a+3); … GV: Lấy ví dụ thực tế: VD1: Bài toán gửi tiền vào ngân hàng. Hằng tháng phải tính lãi và cộng thêm vào lãi gốc đang gửi hay nói cách khác gốc của tháng sau = gốc + lãi tháng trước VD2: Tính tổng của một đoạn số 20’ trong ngôn ngữ Pascal. 2. Lặp với số lần biết trước và câu lệnh for – do Trong Pascal, có 2 loại câu lệnh lặp có số lần biết trước: -Lặp dạng tiến: For <biến đếm>:= <giá trò đầu> to <giá trò cuối> do < câu lệnh>; -Lặp dạng lùi: For < biến đếm>:= <giá trò cuối> downto <giá trò đầu> do <câu lệnh>; Trong đó: -Biến đếm (Kiểu đếm được) thường là biến kiểu số nguyên. -Giá trò đầu, giá trò cuối là các biểu thức cùng kiểu với biến đếm. Giá trò đầu phải nhỏ hơn hay bằng giá trò cuối. -Ở dạng lặp tiến: Biến đếm tự tăng dần từ giá trò đầu đến giá trò cuối. -Ở dạng lặp lùi: Biến đếm tự giảm dần từ giá trò cuối đến giá trò đầu Tương ứng với mỗi giá trò của biến đếm, câu lệnh sau do thực hiện 1 lần nguyên mà không được dùng công thức. Hoạt động 2: GV: Đưa ra 2 ví dụ ở Sgk, sau đó cho HS so sánh hai thuật toán HS: Nêu việc so sánh của mình Thuật toán Tong_ 1a B1:S:=1/a;N=:0; B2:N:=N+1; B3:Nếu N > 100 thì chuyển sang bước 5; B4:S:=S+1(a+N) rồi quay lại bước 2; B5:Đưa ra S rồi kết thúc. Thuật toán Tong_ 1b B1:S:=1/a;N=:101; B2:N:=N-1; B3:Nếu N < 1 thì chuyển sang bước 5; B4:S:=S+1(a+N) rồi quay lại bước 2; B5:Đưa ra S rồi kết thúc. GV: Cho Hs nhận xét về 2 thuật toán trên theo các vấn đề sau: -Thuật toán có lặp không? -Lặp bao nhiêu lần? -Hai thuật toán giống nhau và khác nhau như thế nào? -Đối tượng nào thay đổi trong 2 thuật toán này? HS: Nhận xét GV: Chốt lại vấn đề (Trình bày câu lệnh) ? Có thể nêu thêm VD cụ thể 16’ IV. CŨNG CỐ VÀ DẶN DÒ:4’ GV: Nhắc lại K/n lặp và câu lệnh for – do Về nhà: Xem lại các vấn đề vừa học. xem trước các ví dụ tiếp theo ở Sgk. V. RÚT KINH NGHIỆM . CẤU TRÚC LẶP I. MỤC TIÊU 1. Kiến thức: - Hiểu nhu cầu của cấu trúc lặp trong biểu diễn thuật toán - Hiểu cấu trúc lặp với số lần biết trước, cấu trúc lặp. tác phải lặp lại nhiều lần, khi đó ta gọi là cấu trúc lặp. Lặp thường có 2 loại: - Lặp với số lần biết trước - Lặp với số lần không biết trước. NNLT nào cũng