Sở GD và ĐT TP Hồ Chí Minh Trường CĐ KT Lý Tự Trọng Trường THPT Lý Tự Trọng GIÁO ÁN GIẢNG DẠY Họ và tên sinh viên thực tập: Ngô Thị Phương Thảo Khoa: Toán – Tin học Trường thực tập: THPT Lý Tự Trọng Lớp chủ nhiệm: 11B 2 Lớp giảng dạy: 11B 3 GVHD chủ nhiệm: Hoàng Thị Lê GVHD giảng dạy: Huỳnh Thị Kim Hằng Chương VI – CHƯƠNG TRÌNH CON VÀ LẬP TRÌNH CÓ CẤU TRÚC Bài 17: CHƯƠNG TRÌNH CON VÀ PHÂN LOẠI I. MỤC ĐÍCH, YÊU CẦU 1. Kiến thức: - Nắm được khái niệm chương trình con. - Sự khác biệt cơ bản giữa hàm và thủ tục. - Phân biệt điểm giống nhau và khác nhau về cấu trúc của chương trình và chương trình con. - Biết được mối quan hệ giữa tham số hình thức và tham số thực sự. - Biến cục bộ: cách khai báo, phạm vi sử dụng. 2. Kỹ năng: - Nhận biết được các thành phần trong đầu của thủ tục. - Nhận biết được hai loại tham số hình thức trong đầu của hai thủ tục. - Biết cách khai báo hai loại chương trình con cùng với tham số hình thức của chúng. - Cách viết lời gọi chương trình con trong thân chương trình chính. 3. Thái độ: - Tiếp tục rèn luyện phẩm chất của người lập trình như: tinh thần hợp tác, sẵn sàng làm việc theo nhóm, tuân thủ theo yêu cầu vì một việc chung. - Có ý thức lưu trữ dữ liệu một cách khoa học. II. PHƯƠNG PHÁP, PHƯƠNG TIỆN - Phương pháp hỏi – đáp, phương pháp thuyết trình, giảng giải kết hợp với hình ảnh trực quan. - Sử dụng các câu hỏi gợi mở, nêu vấn đề cho học sinh trả lời. III. CHUẨN BỊ CỦA GIÁO VIÊN VÀ HỌC SINH - Giáo viên: giáo án, hình ảnh trực quan để hướng dẫn, phiếu học tập. - Học sinh: sách giáo khoa, vở ghi chép. IV. TIẾN TRÌNH LÊN LỚP 1. Ổn định tổ chức (1p) 2. Kiểm tra bài cũ (2p) 3. Bài mới. a. Đặt vấn đề (1p) - Các chương trình giải các bài toán phức tạp thường rất dài, có thể gồm rất nhiều lệnh. Khi đọc các chương trình dài, rất khó nhận biết chương trình thực hiện các công việc gì, và hiệu chỉnh chương trình cũng khó khăn. Vậy phải cấu tạo chương trình như thế nào cho chương trình dễ đọc, dễ hiệu chỉnh nâng cấp. Trong bài này ta sẽ nghiên cứu một vấn đề mới đó là chương trình con. Vậy chương trình con là gì? Cách viết, cách sử dụng chúng như thế nào? b. Triển khai bài: Hoạt động của giáo viên và học sinh Nội dung kiến thức Thời gian Hoạt động 1: GV: yêu cầu học sinh xác định ý tưởng giải bài toán tính tổng lũy thừa: Tluythua = n m p q a b c d + + + HS: lần lượt tính tổng lũy thừa cho từng biến a, b, c, d sau đó tính tổng. GV: đưa chương trình đã chuẩn bị sẵn lên bảng, yêu cầu học sinh nhận xét về tính ngắn gọn, dễ đọc, dễ hiểu của chương trình. HS: chương trình dài, phải viết lại nhiều lần đoạn chương trình thực hiện một công việc tương tự nhau. GV: đưa ra chương trình được viết bằng cách sử dụng hàm, yêu cầu học sinh so sánh với chương trình ban đầu. HS: quan sát và nhận xét. GV: vậy khi nào nên viết chương trình con? HS: Đối với bài toán lớn cần nhiều người viết. Chương trình dài, cần chia làm nhiều đoạn. Có nhiều đoạn lệnh lặp lại, chỉ nên viết một chương trình con. GV: nhận xét, kết luận. GV: Vậy chương trình con là gì? HS: nghiên cứu SGK và trả lời, ghi bài vào phiếu học tập. 1. Khái niệm chương trình con. a. Khái niệm: - Chương trình con là một dãy lệnh mô tả một số thao tác 15p 2p 4p 1p 2p 9p GV: Yêu cầu các học sinh thảo luận và điền lợi ích của chương trình con vào phiếu học tập HS: thảo luận + nghiên cứu sách giáo khoa để điền vào phiếu học tập. GV: đưa kết quả lên bảng. Cho HS so sánh với kết quả của mình làm được. nhất định và có thể được thực hiện (được gọi) từ nhiều vị trí trong chương trình. b. Lợi ích của việc sử dụng chương trình con - Tránh được việc phải viết lặp đi lặp lại cùng một dãy lệnh; - Hỗ trợ việc thực hiện các chương trình lớn; - Hỗ trợ cho quá trình trừu tượng hóa; - Mở rộng khả năng ngôn ngữ; - Thuận tiện cho phát triển, nâng cấp chương trình. 8p Hoạt động 2: GV: Có mấy loại chương trình con? Nêu tên ra? HS: Hai loại: hàm và thủ tục. GV: Các em đã từng làm quen với hàm và thủ tục chưa? lấy ví dụ về các hàm và thủ tục đã được học. HS: Rồi. ví dụ Hàm sin(x), sqrt(x) Thủ tục readln, delete, insert GV: Cho biết ý nghĩa của hàm và thủ tục HS: nghiên cứu SGK trả lời GV: yêu cầu học sinh nhắc lại cấu trúc của chương trình chính. HS: [<phần khai báo>] <phần thân> 2. Phân loại và cấu trúc của chương trình con. a. Phân loại (2 loại) - Hàm (function) là chương trình con thực hiện một số thao tác nào đó và trả về giá trị qua tên của nó. - Thủ tục (procedure) là chương trình con thực hiện các thao tác nhất định nhưng không trả về giá trị nào qua tên của nó. b. Cấu trúc chương trình con. • Cấu trúc chung <phần đầu> [<phần khai báo>] 10p 5p GV: giới thiệu cấu trúc chương trình con. Giảng phần khai báo và phần thân. HS: lắng nghe GV: đưa ra cho HS biết tham số hình thức là gì? Biến toàn cục và biến cục bộ là gì, được khai báo ở đâu, phạm vi hoạt động của nó? Lấy ví dụ cho HS biết trong chương trình con Luythua(x,k) thì x, k là tham số hình thức và j là biến cục bộ. GV: giải thích cho học sinh thấy được chương trình con chỉ có thể thực hiện khi có lời gọi nó, đồng thời chỉ ra tham số thực sự là gì. GV: đưa ra ví dụ Tluythua ban đầu, chỉ ra cho học sinh biết được tham số (a,n), (b,m), (c,p), (d,q) là các tham số thực sự tương ứng với tham số hình thức (x,k) HS: lắng nghe. <phần thân> • Tham số hình thức: các biến được khai báo cho dữ liệu vào/ra của chương trình con. • Biến cục bộ: là các biến được khai báo để dùng riêng trong chương trình con. • Biến toàn cục: biến được khai báo trong chương trình chính. c. Thực hiện chương trình con. - Để thực hiện (gọi) một chương trình con, ta cần phải gọi nó tương tự lệnh gọi hàm hay thủ tục chuẩn, bao gồm tên chương trình con với tham số (nếu có) là các hằng và biến chứa dữ liệu vào và ra tương ứng với các tham số hình thức đặt trong cặp ngoặc ( và ). Các hằng và biến này được gọi là các tham số thực sự. 10p 11p 4. Củng cố (dành cho tiết 2)(5p) Câu 1: Khai báo chương trình con nào trong các khai báo là đúng: A. Procedure Vidu(n: Integer): Integer; B. Function Vidu(n: Integer); C. Function Vidu(n: Integer): Integer D. Function Vidu(n: Integer): Integer; Câu 2: Nói về cấu trúc của chương trình con, khẳng định nào sau đây đúng: A. Phần đầu và phần thân nhất thiết phải có, phần khai báo có thể có hoặc không. B. Phần khai báo có thể có hoặc không, tùy thuộc vào từng chương trình cụ thể. C. Phần đầu có thể có hoặc không cũng được. D. Phần đầu nhất thiết phải có để khai báo tên chượng trình con. ĐÁP ÁN: 1. D; 2: A 5. Dặn dò Học bài cũ, đọc trước nội dung bài 18: ví dụ về cách viết và sử dụng chương trình con, SGK Tin học 11, trang 96. Phiếu học tập (tiết 1) Bài 17: Chương trình con và phân loại 1. Khái niệm chương trình con a. Khái niệm: …………………………………………………………………………………………………………………… …………………………………………………………………………………………………………………… …………………………………………………………………………………… b. Lợi ích của việc sử dụng chương trình con: …………………………………………………………………………………………………………………… …………………………………………………………………………………………………………………… …………………………………………………………………………………………………………………… …………………………………………………………………………………………………………………… ………… Phê duyệt của giáo viên hướng dẫn TP. HCM, ngày 27 tháng 2 năm 2010 Sinh viên ký tên Ngô Thị Phương Thảo . ÁN: 1. D; 2: A 5. Dặn dò Học bài cũ, đọc trước nội dung bài 18: ví dụ về cách viết và sử dụng chương trình con, SGK Tin học 11, trang 96. Phiếu học tập (tiết 1) Bài 17: Chương trình con và phân. chép. IV. TIẾN TRÌNH LÊN LỚP 1. Ổn định tổ chức (1p) 2. Kiểm tra bài cũ (2p) 3. Bài mới. a. Đặt vấn đề (1p) - Các chương trình giải các bài toán phức tạp thường rất dài, có thể gồm rất nhiều lệnh tên sinh viên thực tập: Ngô Thị Phương Thảo Khoa: Toán – Tin học Trường thực tập: THPT Lý Tự Trọng Lớp chủ nhiệm: 11B 2 Lớp giảng dạy: 11B 3 GVHD chủ nhiệm: Hoàng Thị Lê GVHD giảng dạy: Huỳnh