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 kiểm tra điều kiện trước.
2. Kĩ năng
+ Biết cách vận dụng đúng đắn từng loại cấu trúc lặp vào tình huống cụ thể.
+ 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 đúng các lệnh lặp với số lần biết trước, lệnh lặp kiểm tra điều kiện trước.
+ Viết được thuật toán của một số bài toán đơn giản.
3. Tư duy, thái độ (giá trị)
+ Khơi gợi lòng ham thích giải bài toán bằng lập trình trên máy tính.
+ Tiếp tục rèn luyện các phẩm chất cần thiết của người lập trình như xem xét, giải quyết vấn đề một cách cẩn thận, chu đáo, có sáng tạo,
4. Định hướng hình thành năng lực
+ Giải quyết vấn đề, sáng tạo, giao tiếp, hợp tác, sử dụng ngôn ngữ, sử dụng CNTT và TT
Ngày soạn:02/11/2019 Tiết: 12 CẤU TRÚC LẶP I. MỤC TIÊU 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 kiểm tra điều kiện trước. Kĩ năng + Biết cách vận dụng đúng đắn từng loại cấu trúc lặp vào tình huống cụ thể. + 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 đúng các lệnh lặp với số lần biết trước, lệnh lặp kiểm tra điều kiện trước. + Viết được thuật toán của một số bài toán đơn giản. Tư duy, thái độ (giá trị) + Khơi gợi lòng ham thích giải bài toán bằng lập trình trên máy tính. + Tiếp tục rèn luyện các phẩm chất cần thiết của người lập trình như xem xét, giải quyết vấn đề một cách cẩn thận, chu đáo, có sáng tạo, Định hướng hình thành năng lực + Giải quyết vấn đề, sáng tạo, giao tiếp, hợp tác, sử dụng ngôn ngữ, sử dụng CNTT và TT II. CHUẨN BỊ CỦA GIÁO VIÊN VÀ HỌC SINH 1. Chuẩn bị của giáo viên - Thiết bị dạy học: Máy tính cá nhân và máy chiếu (nếu có). - Học liệu: Soạn giáo án, nghiên cứu sách giáo khoa, sách bài tập, tài liệu tham khảo. 2. Chuẩn bị của học sinh - Chuẩn bị các nội dung liên quan đến bài học theo sự hướng dẫn của giáo viên như chuẩn bị tài liệu, TBDH .. - Sưu tầm tranh ảnh, tư liệu,... III. TỔ CHỨC CÁC HOẠT ĐỘNG HỌC TẬP Ổn định lớp: Kiểm tra sỹ số Tiến trình bài học HOẠT ĐỘNG KHỞI ĐỘNG Hoạt động 1: Kiểm tra bài cũ và dẫn dắt vào bài mới (1) Mục đích: tạo tâm thế học tập cho học sinh, giúp học sinh ý thức được nhiệm vụ học tập, hứng thú học bài mới. (2) Phương pháp/Kĩ thuật: nêu vấn đề (3) Hình thức tổ chức hoạt động: cá nhân (4) Phương tiện dạy học Máy tính, máy chiếu, sgk, chương trình mẫu; (5) Sản phẩm: Nhớ lại những hiểu biết về cấu trúc rẽ nhánh Hoạt động của GV Hoạt động của HS Nội dung GV: Hãy trình bày cấu trúc và ý nghĩa của câu lệnh If ở cả hai dạng thiếu và đủ. HS: Suy nghĩ trả lời * Dạng thiếu if (); - Nếu điều kiện đúng thì câu lệnh được thực hiện, nếu không sẽ bỏ qua câu lệnh. * Dạng đủ if();else; -Trong đó: +Điều kiện là biểu thức lôgic. +Câu lệnh, câu lệnh 1, câu lệnh2 là một câu lệnh của C++. - Điều kiện cũng được tính và kiểm tra. Nếu điều kiện đúng thì câu lệnh 1 sẽ được thực hiện, ngược lại thì câu lệnh 2 sẽ được thực hiện. Đối tượng kiểm tra: HS trung bình. HOẠT ĐỘNG HÌNH THÀNH KIẾN THỨC VÀ LUYỆN TẬP Hoạt động 2: Tìm hiểu thao tác lặp (1) Mục đích: HS nắm được 2 loại lặp trong bài toán tính tổng (2) Phương pháp/Kĩ thuật: nêu vấn đề (3) Hình thức tổ chức hoạt động: Cá nhân (4) Phương tiện dạy học: máy tính, máy chiếu (nếu có) (5) Sản phẩm: HS hiểu được lặp và 2 loại lặp Hoạt động của GV Hoạt động của HS Nội dung GV: Nêu 2 bài toán tính tổng, và yêu cầu HS nhận xét các bài toán này có đặc điểm gì tương tự và nêu cách tính. GV: Việc cộng như thế được lặp lại một số lần. GV: Yêu cầu HS nhận xét số lần lặp đó với hai bài toán. GV: Vậy từ đó, gọi HS nhận xét, phân biệt loại lặp? HS: Đây đều là hai bài toán tính tổng: + Ban đầu S được gán 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, HS: Ở bài toán 1, số lần lặp là 100. Còn bài toán 2 số lần lặp là chưa biết trước, quá trình lặp sẽ dừng khi gặp điều kiện 1/(a+N)<0,0001. HS: Có hai loại lặp: Lặp với số lần biết trước và lặp với số lần chưa biết trước. 1. Lặp Với a là số nguyên a>0: BT1: Tính tổng: S1= BT2: Tính tổng: S2:= cho đến khi <0,0001. - 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ấu trúc lặp: - Cấu trúc lặp mô tả thao tác lặp và được phân 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 Hoạt động 3: Lặp có số lần biết trước và câu lệnh for (1) Mục đích: Lặp có số lần biết trước và câu lệnh for (2) Phương pháp/Kĩ thuật: nêu vấn đề (3) Hình thức tổ chức hoạt động: cá nhân (4) Phương tiện dạy học: máy tính, máy chiếu (nếu có) (5) Sản phẩm: Lặp có số lần biết trước và câu lệnh for Hoạt động của GV Hoạt động của HS Nội dung GV: Trong một số thuật toán có những thao tác phải thực hiện lặp đi lặp lại một số lần, và chương trình sẽ phải viết đi, viết lại các câu lệnh thực hiện những thao tác trên thì rõ ràng là không thuận tiện dễ dẫn tới nhàm chán. Vì thế ngôn ngữ lập trình đưa ra cấu trúc điều khiển lặp. GV: Sau đây chúng ta sẽ tìm hiểu các câu lệnh lặp trong ngôn ngữ C++; trước hết là lặp với số lần biết trước. GV: Đưa ra ví dụ về lặp với số lần biết trước với dạng tiến và dạng lùi: GV: Viết lệnh for GV: Viết chương trình hoàn chỉnh GV: Chạy chương trình cho hs quan sát kết quả Kết quả chương trìnhVD1 dạng tiến: 1 2 3 4 5 6 7 8 9 10 Kết quả chương trình VD1 dạng lùi: 10 9 8 7 6 5 4 3 2 1 Kết quả chương trình VD2: 20,0 19,1 18,2 17,3 16,4 15,5 14,6 13,7 12,8 11,9 HS: Nghe giảng và ghi bài. Quan sát, ghi bài 2. Lặp có số lần biết trước và câu lệnh for for (;;) {; <câu lệnh; ; }; - Hoạt động: B1. Điều kiện khởi tạo được thực hiện thường để đặt một giá trị ban đầu cho các biến điều khiển, điều này chỉ được thực hiện 1 lần. B2. Điều kiện được kiểm tra, nếu đúng câu lệnh được thực hiện, ngược lại thì chuyển B4 B3. Thay đổi được thực hiện để thay đổi giá trị biến điều khiển, quay về B2 B4. Kết thúc vòng lặp VD1. Đưa ra màn hình các số tự nhiên từ 1 đến 10: #include //tiến using namespace std; int main() { for (int n=1; n<11;n++) cout<<n<<” “; return 0; } #include //lùi using namespace std; int main() { for (int n=10; n>0;n--) cout<<n<<” “; return 0; } VD2: Đưa ra màn hình các cặp số tự nhiên khác nhau có tổng bằng 20 #include using namespace std; int main() { for (int n=20, i=0; n!=i;n--,i++) cout<<n<<”,”<<i<<’\n’; return 0; } 4. Rút kinh nghiệm ..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................... Mỹ Tho, ngày.....tháng.....năm....... KÍ DUYỆT
Tài liệu đính kèm: