Giáo án NHÓM: THCS LƯƠNG TẤN THỊNH, TRẦN KIỆT, TRƯỜNG CHINH ĐƠN VỊ: PGD&ĐT HUYỆN ĐÔNG HÒA Tuần: Ngày : ………… Tiết 39: CÂULỆNHLẶP I. Mục tiêu: a) Kiến thức: - Biết nhu cầu cần có cấu trúc lặp 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 để chỉ dẫn máy tính thực hiện lặp đi lặp lại công việc nào đó một số lần; - Hiểu hoạt động của câulênhlặp với số lần biết trước for . do trong Pascal; - Biết lệnh ghép trong Pascal. b) Kỹ năng: - Viết đúng lệnh for .do trong một số tình huống đơn giản; - Hiểu cách viết đúng các quy tắc, cú pháp trong ngôn ngữ cụ thể khi dùng vòng lặp for; - Đọc hiểu được chương trình có sử dụng vòng lặp for .do; c) Thái độ: - Nhận thức được vai trò quan trọng của vòng lặp xác định for .do là giúp thực hiện các công việc lặp lại nhiều lần một cách khoa học, nhanh chóng, không dài dòng, tránh nhàm chán, dễ sai sót và tốn thời gian; - Có ý thức trong học tập. II. Chuẩn bị: * GV: - Giáo án, máy Projector, bảng và bút; - Một số ví dụ bài tập về vòng lặp for .do; * HS: - SGK, vở để ghi; III. Hoạt động dạy và học: A. Kiểm tra bài cũ: câu điều kiện, cấu trúc rẽ nhánh B. Bài mới: GV giới thiệu bài mới… HĐ giáo viên HĐ học sinh Nội dung Hoạt động 1: Giới thiệu các công việc phải lặp nhiều lần Câu hỏi: Trong đời sống hằng ngày có rất nhiều công việc được lặp đi lặp lại, em nào cho biết một vài ví dụ? - GV cho thêm vào ví dụ: mỗi sáng thứ 2 đều chào cờ đầu tuần, hoặc cô giáo lặp đi lặp lại việc gọi học sinh lên trả bài và ghi điểm, cô giáo sẽ ngừng lại cho đến khi đã vào điểm cho tất cả học sinh - GV chốt lại: đó là các công việc, các hoạt động được thực hiện bằng cách lặp đi lặp lại nhiều lần, được chia làm 2 kiểu lặp: lặp với số lần nhất định, biết trước và lặp với số lần không xác định được. Câu hỏi: ví dụ nào là lặp với số lần xác định được, ví dụ nào là lặp với số lần không xác định được? GV: Nhận xét đánh giá - GV cho học sinh ghi vào vở Thảo luận trả lời: - Tiếng gà gáy mỗi sáng, tiếng trống trường sau mỗi tiết học, đánh răng trước khi đi ngủ và mỗi sáng thức dậy . - Hằng ngày em đi học . HS lắng nghe Một vài học sinh trả lời. HS Lắng nghe HS ghi vào vở 1. Các công việc phải thực hiện nhiều lần: - Lặp với số lần nhất định và biết trước. + VD: Đánh răng mỗi ngày 2 lần, ngày ăn cơm 3 lần, . - Lặp với số lần không thể xác định trước. + VD: Học cho đến khi thuộc bài. HĐ giáo viên HĐ học sinh Nội dung Hoạt động 2: Giới thiệu câulệnh lặp, cấu trúc lặp. - Xét VD1: Vẽ 3 hình vuông bằng nhau Ta phải vẽ lần lượt 3 hình. Nhưng với câulệnh lặp, ta chỉ cần vẽ một hình vuông, rồi lặp lại cho 2 hình vuông kia. Ta có thuật toán như thế nào? - Gọi một HS nêu thuật toán. - GV: nhận xét, giải thích các bước lặp của thuật toán VD1: HS quan sát - Một HS nêu thuật toán: B1: Vẽ hình vuông đầu tiên B2: Xét nếu hình vuông vẽ được ít hơn 3 thì di chuyển về phải 2 đơn vị, trở về bước 1để tiếp tục vẽ; Ngược lại kết thúc thuật toán. - HS: thảo luận, bổ sung 2. Câulệnhlặp – một lệnh thay cho nhiều lệnh: HĐ giáo viên HĐ học sinh Nội dung VD2: Tính tổng của 100 số tự nhiên đầu tiên S= 1+2+3+ . +100. Gọi một học sinh nêu thuật toán. - GV: nhận xét, giải thích các bước lặp của thuật toán VD3: In ra màn hình số lần lặp từ 15 - GV: nhận xét, giải thích các bước lặp của thuật toán * Qua 3 ví dụ GV giải thích đưa ra kết luận: Cách mô tả các hoạt động trong thuật toán như ở các ví dụ được gọi là cấu trúc lặp. Vậy cấu trúc lặp có vai trò gì? - GV: chốt lại cho HS ghi vào vở * Giải thích câulệnh lặp: là cách để điều kiển máy tính thực hiện cấu trúc lặp. VD2: Một HS nêu thuật toán: B1: S ← 0; i ← 0 B2: i ← i + 1 B3: nếu i<=100 thì S ← S+i và quay lại B2 B4: kết thúc thuật toán - HS: thảo luận, bổ sung VD3: HS trình bày thuật toán: B1: i ← 1 B2: Viết ra lần lặp thứ i, i ← i+1 B3: nếu i<=5 thì quay lại B2 B4: Kết thúc thuật toán - HS: thảo luận, bổ sung - HS thảo luận trả lời - HS ghi vào vở - Cấu trúc lặp được sử dụng để chỉ thị cho máy tính thực hiện lặp đi lặp lại một hoạt động nào đó cho đến khi một điều kiện nào đó được thỏa mãn - Câulệnhlặp là “cách” để chỉ thị máy tính thực hiện cấu trúc lặp. HĐ giáo viên HĐ học sinh Nội dung 3. Hoạt động 3: Cấu trúc câulệnhlặp -Trở lại với VD2: minh họa với ngôn ngữ pascal: HS quan sát ví dụ - HS lên viết cấu trúc - Thảo luận nhận xét 3. Ví dụ về câulệnh lặp: Cấu trúc: for <biến đếm> := <giá trị đầu> for <biến đếm> := <giá trị đầu> to <giá trị cuối> do <câu lệnh>; to <giá trị cuối> do <câu lệnh>; Program Lap; Var i: integer; Begin For i:= 1 to 5 do Writeln(‘Day la lan lap thu:’, i); Readln End. Cấu trúc lặp đã được mô Cấu trúc lặp đã được mô tả bằng câulệnhlặp tả bằng câulệnhlặp của ngôn ngữ pascal. của ngôn ngữ pascal. Câu hỏi: dựa vào ví dụ, mời 1 Câu hỏi: dựa vào ví dụ, mời 1 bạn lên viết cấu trúc câulệnh lặp. bạn lên viết cấu trúc câulệnh lặp. - GV nhận xét đưa ra cấu trúc câu - GV nhận xét đưa ra cấu trúc câulệnhlặplệnhlặp HĐ giáo viên HĐ học sinh Nội dung Cùng HS phân tích cú pháp: + Giá trị đầu, giá trị cuối luôn là kiểu dữ liệu gì? + biến đếm: biến đầu tiên được gán giá trị đầu, mỗi lần thực hiện thì biến đếm tăng 1 đơn vị từ giá trị đầu đến giá trị cuối. Vậy biến đếm có kiểu dữ liệu gì? Giá trị cuối như thế nào so với giá trị đầu? - Cùng học sinh phân tích hoạt động: Đầu tiên biến đếm gán bằng giá trị đầu, sau đó giá trị biến đếm tăng dần 1 đơn vị từ giá trị đầu đến giá trị cuối. và câulệnh được thực hiện mỗi lần tăng biến đếm cho đến khi biến đếm vượt quá giá trị cuối thì kết thúc. - Dữ liệu kiểu số nguyên - HS trả lời: kiểu nguyên, giá trị cuối >= giá trị đầu - HS ghi vào vở - HS lắng nghe Trong đó: - biến đếm: là biến thường có kiểu nguyên; - Giá trị đầu, giá trị cuối: là các biểu thức có cùng kiểu với biến đếm. Giá trị cuối phải lớn hơn hoặc bằng giá trị đầu; for <biến đếm> := <giá trị đầu> for <biến đếm> := <giá trị đầu> to <giá trị cuối> do <câu lệnh>; to <giá trị cuối> do <câu lệnh>; V. Củng cố dặn dò: - Củng cố lại câulệnhlặp - Cho bài tập về nhà - Làm các bài tập ở sách giáo khoa - Nhận xét tiết học, đánh giá tiết học . cấu trúc câu lệnh lặp. bạn lên viết cấu trúc câu lệnh lặp. - GV nhận xét đưa ra cấu trúc câu - GV nhận xét đưa ra cấu trúc câu lệnh lặp. . lệnh lặp. . HĐ. mô Cấu trúc lặp đã được mô tả bằng câu lệnh lặp tả bằng câu lệnh lặp của ngôn ngữ pascal. của ngôn ngữ pascal. Câu hỏi: dựa vào ví dụ, mời 1 Câu hỏi: dựa