Tại sao ta phải thiết kế chương trình con

Chương trình con là một dãy lệnh mô tả một số thao tá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.

1. Khái niệm chương trình con

- Chương trình con là một dãy lệnh mô tả một số thao tá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.

Giả sử ta có bài toán sau đây:

Hãy tính S=ab+cd+ef

Nếu như với những kiến thức chúng ta đã học trước đây. Chúng ta có thể làm như sau:

     + Sử dụng các biến để lưu kết quả của ab, cd,ef.

Tác hại: Như vậy ta sẽ phải sử dụng 3 đoạn chương trình tương đồng với nhau. Nếu không phải tính 3 lũy thừa mà là tính 1000 lũy thừa thì số lượng code sẽ rất lớn và dễ gây rối và nếu ta phát hiện có lỗi sai trong đoạn code này ta sẽ phải sửa lần lượt tất cả các đoạn code này.

Cách khắc phục: Ta sẽ viết một chương trình con để tính lũy thừa. Với x là giá trị kiểu thực còn k là thuộc kiểu nguyên.

Var j:integer;
Tich:=1.0;
For j:=1 to k do
Tich:=Tich*x;

Khi cần tính lũy thừa thì ta chỉ cần viết tên gọi chương trình con rồi thay thế [x,k] bằng các giá trị cụ thể.

Những hàm mà chúng ta thường sử dụng trước đây như : sqrt[], upcase[], delete[],… đều là những chương trình con.

Một số 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 nào đó, ngôn ngữ lập trình cho phép tổ chức dãy lệnh đó thành một chương trình con. Sau đó, mỗi khi chương trình chính cần đến dãy lệnh này thì chỉ cần gọi thực hiện chương trình con đó.

- Hỗ trợ việc thực hiện các chương trình lớn: khi phải viết chương trình lớn hàng nghìn, hàng vạn lệnh, cần huy động nhiều người tham gia, có thể giao cho mỗi người [hoặc mỗi nhóm] viết một chương trình con, rồi sau đó lắp ghép chúng lại thành chương trình chính.

- Phục vụ cho chương trình trừu tượng hóa: Người lập trình có thể sử dựng các kết quả được thực hiện bởi chương trình con mà không cần phải quan tâm đến việc các chương trình con đó được cài đặt như thế nào. Trừu tượng hóa là tư tưởng chủ đạo để xây dựng chương trình nói chung và chương trình có cấu trúc nói riêng.

- Mở rộng khả năng ngôn ngữ. Các ngôn ngữ lập trình thường cung cấp phương thức đóng gói các chương trình con nhằm cung cấp như một câu lệnh mới [tương tự như các lệnh gọi thực hiện các hàm và thủ tục chuẩn] cho người lập trình sử dụng mà không cần biết mã nguồn của nó như thế nào.

- Thuận tiện cho phát triển, nâng cấp chương trình: Do chương trình được tạo thành từ các chương trình con nên chương trình dễ đọc, dễ hiểu, dễ kiểm tra và hiệu chỉnh. Việc nâng cấp, phát triển chương trình con nào đó, thậm chí bổ sung thêm các chương trình con mới nói chung không gây ảnh hưởng đến các chương trình con khác.

2. Phân loại và cấu trúc của chương trình con 

a] Phân loại

Chương trình con gồm hai 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ề một giá trị qua tên của nó.

Ví dụ : sin [x] nhận giá trị thực X và trả về giá trị sinx; Sqrt[x] nhận giá trị x và trả về giá trị căn bậc hai của x. ...

Thủ tục [procednre] 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ó. Ví dụ các thao tác vào/ra chuẩn hay thủ tục xử lí xâu: writeln, readln, delete,insert,..

b] Cấu trúc chương trình con

Chương trình con có cấu trúc tương tự chương trình, nhưng nhất thiết phải có tên và phần đầu dùng để khai báo tên, nếu là hàm phải khai báo kiểu dữ liệu cho giá trị trả về của hàm:

[]

Phần khai báo có thể có khai báo biến cho dữ liệu vào và ra, các hằng và biến dùng trong chương trình con.

Phần thân của chương trình con là dãy câu lệnh thực hiện để từ những dữ liệu vào ta nhận được dữ liệu ra hay kết quả mong muốn.

Các biến được khai báo cho dữ liệu vào/ra được gọi là tham số hình thức.

Các biến được khai báo để dùng riêng trong chương trình con được gọi là biến cục bộ.

Ví dụ, trong chương trình con Luythua[x,k] ở phần 1 thì x, k là các tham số hình thức và j là biến cục bộ.

Các biến được khai báo của chương trình chính được gọi là biến toàn cục.

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 có lệnh 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à tham số thực sự.

Ví dụ :  Sqr[225]

Khi đó sqr là tên chương trình con và 225 là tham số thực sự.

Khi thực hiện chương trình con, các tham số hình thức để nhập dữ liệu vào sẽ nhận giá trị của tham số thực sự tương ứng, còn các tham số hình thức để lưu trữ dữ liệu ra sẽ trả giá trị đó cho tham số thực sự tương ứng.

Sau khi chương trình con kết thúc, lệnh tiếp theo lệnh gọi chương trình con sẽ được thực hiện.

Loigiaihay.com

I. MỞ ĐẦU1. Lí do chọn đề tàiViệc đổi mới trong giáo dục đang là vấn đề nóng bỏng và cấp thiết hiệnnay. Chương trình giáo dục phổ thông nước ta đang trong giai đoạn chuyển từchương trình giáo dục tiếp cận nội dung sang tiếp cận năng lực của người học.“Trước bối cảnh đó và để chuẩn bị cho quá trình đổi mới chương trình, sách giáokhoa giáo dục phổ thông, chúng ta cần thiết phải đổi mới đồng bộ phương phápdạy học và kiểm tra đánh giá kết quả giáo dục theo định hướng phát triển nănglực người học”[1]. Do vậy việc nghiên cứu, áp dụng phương pháp dạy học tíchcực định hướng hình thành năng lực học sinh vào dạy học để nâng cao chấtlượng là hết sức quan trọng và cần thiết. Để chung tay góp phần vào phong tràođổi mới phương pháp giảng dạy, nâng cao chất lượng dạy và học hiện nay, tôi đãlựa chọn đề tài: “Dạy học chủ đề “Chương trình con và lập trình có cấu trúc”- Tin học 11 theo định hướng phát triển năng lực học sinh” làm đề tài sángkiến kinh nghiệm của mình. Với những nghiên cứu của bản thân, tôi hy vọng sẽgiúp học sinh chủ động hơn trong học tập, hiểu bài hơn và hứng thú hơn đối vớibộ môn Tin học.2. Mục đích nghiên cứuTôi thực hiện đề tài này để giúp các em học sinh lớp 11 tích cực, chủ độnghơn trong học tập về chương trình con và lập trình có cấu trúc để các em hiểubài hơn, nắm vững kiến thức và có thể vận dụng những kiến thức học được vàogiải quyết các vấn đề trong thực tiễn. Và mục đích cuối cùng là để góp phầnnâng cao chất lượng giảng dạy và học tập tại trường THPT Cẩm Thủy 1 nóiriêng và của ngành giáo dục nói chung.3. Đối tượng nghiên cứuTrong phạm vi đề tài này, tôi tập trung nghiên cứu về chương trình con vàlập trình có cấu trúc trong chương trình Tin học 11. Sử dụng các phương phápdạy học theo định hướng phát triển năng lực của người học để dạy học chủ đề“Chương trình con và lập trình có cấu trúc” giúp học sinh thực sự được đặt vàocác tình huống có vấn đề và có nhu cầu giải quyết, để tư duy tìm cách giải quyếtvà vận dụng những kiến thức đã học vào thực tiễn cuộc sống. Từ đó rút ra nhữngcách tiếp cận, giảng dạy có hiệu quả để nâng cao chất lượng giảng dạy.4. Phương pháp nghiên cứuNghiên cứu lí luận: Nghiên cứu các tài liệu về chương trình con và lậptrình có cấu trúc, các tài liệu về dạy học theo định hướng năng lực của học sinh.Nghiên cứu thực tiễn: Khảo sát năng lực học sinh khi học chương trìnhcon và khả năng vận dụng chương trình con trong lập trình.Thực nghiệm sư phạm: Tiến hành thực nghiệm trên những đối tượng họcsinh cụ thể nhằm đánh giá hiệu quả của đề tài.1II. NỘI DUNG1. Cơ sở lí luậnTheo “Tài liệu tập huấn cán bộ quản lý, giáo viên cốt cán về phương phápdạy học và phương pháp hướng dẫn học sinh tự học” của Bộ giáo dục và đàotạo, việc xây dựng bài học theo chủ đề gồm 6 bước: Bước 1 là xác định vấn đềcần giải quyết trong dạy học chủ đề sẽ xây dựng. Bước 2 là lựa chọn nội dungtừcác bài học trong sách giáo khoa hiện hành của một môn học hoặc các môn họccó liên quan để thiết kế nội dung, xây dựng bài học; xác định nội dung các hoạtđộng chính của bài học. Bước 3 ta xác định mục tiêu đầu ra cho bài học: chuẩnkiến thức, kỹ năng, thái độ theo chương trình hiện hành. Bước 4 xác định và môtả mức độ yêu cầu kiểm tra đánh giá [nhận biết, thông hiểu, vận dụng thấp, vậndụng cao] của mỗi loại câu hỏi/bài tập có thể sử dụng để kiểm tra, đánh giá nănglực và phẩm chất của học sinh trong dạy học. Bước 5 là biên soạn các câuhỏi/bài tập/phiếu học tập cụ thể theo các mức độ yêu cầu đã mô tả để sử dụngtrong quá trình tổ chức các hoạt động dạy học và kiểm tra đánh giá, luyện tậptheo chủ đề bài học. Bước 6 là thiết kế tiến trình dạy học bài học thành các hoạtđộng học theo tiến trình sư phạm của phương pháp dạy học tích cực để tổ chứccho học sinh thực hiện ở trên lớp và ở nhà[2].2. Thực trạng vấn đề trước khi áp dụng sáng kiến kinh nghiệmQua thực tế giảng dạy của bản thân và dự giờ của đồng nghiệp tại trườngTHPT Cẩm Thủy 1, tôi thấy khi học Tin học 11, học sinh gặp rất nhiều khó khănkhi tiếp thu kiến thức. Những khái niệm, cấu trúc lệnh ở những chương đầu còndễ hiểu, càng học về sau các em càng kêu khó và giảm bớt hứng thú học tập,nhất là ở chương VI – “Chương trình con và lập trình có cấu trúc”. Việc giáoviên bắt học sinh ghi nhớ thụ động các nội dung, khái niệm trong sách giáo khoalà rất khó nếu các em không thực sự hiểu bài. Có thể các em hiểu và nhớ kiếnthức ngay lúc học nhưng đến lúc kiểm tra thì lại quên hết. Hoặc học sinh cóchăm chỉ ghi nhớ thì vẫn bị lẫn lộn các nội dung kiến thức và khả năng vận dụngcòn hạn chế.3. Các giải pháp đã sử dụng để giải quyết vấn đềBước 1: Lựa chọn chủ đề bài họcCHƯƠNG TRÌNH CON VÀ LẬP TRÌNH CÓ CẤU TRÚC - TIN HỌC 11Bước 2: Thiết kế nội dung bài họcTiết1Hoạt độngKhởi độngHoạt động 1Hoạt động 2Nội dung kiến thứcKhởi động vào bài.Khái niệm chương trình con.Phân loại và cấu trúc chung của chương trình con22Hoạt động 33Hoạt động 4Vận dụng, tìmtòi, mở rộngBiến toàn cục, biến cục bộCấu trúc của Thủ tục và HàmTham số hình thức và tham số thực sự.Luyện tập cách viết và sử dụng chương trình conTham số giá trị và tham số biến.Củng cố kiến thức, tìm tòi mở rộngBước 3: Xác định yêu cầu kiến thức, kĩ năng, thái độ1. Về kiến thức:-Biết vai trò của chương trình con trong lập trình.Biết sự phân loại chương trình con: thủ tục và hàm.Biết cấu trúc của một thủ tục và hàm, danh sách vào/ra hình thức.Biết mối liên quan giữa chương trình và thủ tục, chương trình và hàm.2. Về kĩ năng:- Nhận biết được các thành phần trong cấu trúc của thủ tục và hàm.- Viết và sử dụng được lệnh gọi thủ tục và hàm- Viết được chương trình con đơn giản.3. Thái độ:- Thấy được sự cần thiết của chương trình con trong lập trình.- Tiếp tục rèn luyện tư duy lập trình, rèn luyện phẩm chất của người lập trìnhnhư 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ìcông việc chung.Bước 4: Lập bảng mô tả yêu cầu cần đạtLoại câuNội dung hỏi/bàitập1. Kháiniệmchươngtrình conCâuhỏi/bàitập địnhtínhNhận biếtHọc sinh nêuđượckháiniệm chươngtrình con, vaitròcủachương trìnhcon trong lậptrình.Thông hiểuVận dụngthấpVận dụngcaoHS có thểđềxuấtmột vài bàitoánmàchươngtrình giảiquyết cóthể tổ chứcsửdụngchươngtrình con.3Bài tậpđịnhlượngBài tậpthực hành2. Phân Câuloạivà hỏi/bàicấu trúc tập địnhcủatínhchươngtrình conHS biết đượcchương trìnhcon gồm 2loại.Nêuđượckháiniệmthủ tục, lấyđược ví dụcác thủ tụcđã học.Nêuđượckháiniệmhàm,lấyđược ví dụcác hàm đãhọc.Nêuđượccấutrúcchung củachương trìnhcon là gồm 3phần.Hiểu được ýnghĩa và tácdụng của biếncục bộ, biếntoàn cục.HS biết được cơchế hoạt độngcủa một chươngtrình con khi cólệnh gọi nó.Biết được vị tríkhaibáochươngtrìnhcon là trongphần khai báocủachươngtrình chính vàlệnh gọi chươngtrình con trongthânchươngtrình chính.Biếtchươngtrình con có thểcó hoặc khôngcó tham số vàbiến cục bộ.Biết quytắc truyềnthamsốchochươngtrình con.4Bài tập HS chỉ rađịnhđượcbiếnlượngtoàncục,biến cục bộ,tham số hìnhthức, thamsố thực sựtrongchươngtrình.Chỉ ra được vịtrí của chươngtrình con vàlệnh gọi chươngtrình con trongchương trình;phân biệt đượcnó là hàm haythủ tục.Biết được mộtchương trình cóthể sử dụngnhiều chươngtrình con và cóthể sử dụng mộtchươngtrìnhcon nhiều lần.Bài tậpthực hành3.tụcThủ Câuhỏi/bàitập địnhtínhChỉrađược cáchtruyềnthamsốđúng [sai]khigọichươngtrình con.HSviếtđược câulệnhgọichươngtrình concho trướcNêuđượccấu trúc củathủ tục.Nhậnbiếtđượcmộtchương trìnhcon dạng thủtục.Chỉ ra đượctừng thành phầntrong cấu trúccủa thủ tục.54. HàmBài tập Nhậnbiếtđịnhđược thamlượngsố hình thứcvà tham sốthựcsựtrongmộtchương trìnhcó sử dụngthủ tục.Nhậnbiếtđược thamsố giá trị vàthamsốbiến.Bài tậpthực hànhHiểu được ýnghĩa và tácdụng của thamsố giá trị vàtham số biến.Khai báođượcchươngtrình condạng thủtục để giảiquyết vấnđề trongtình huốngquen thuộcKhai báođượcchươngtrình condạng thủtục để giảiquyết vấnđề trongtình huốngmới.HS sửa lỗi củathủ tục giảiquyết một tìnhhuốngquenthuộc.Sử dụng đúngbiến toàn cục vàbiến cục bộtrong chươngtrình có sử dụngthủ tục.HSviếtđượcchươngtrình có sửdụngchươngtrình condạng thủtục để giảiquyết vấnđề trongtình huốngquen thuộcHSviếtđượcchươngtrình có sửdụngchươngtrình condạng thủtục để giảiquyết vấnđề trongtình huốngmới.Câuhỏi/bàitập địnhtínhChỉ ra đượctừng thành phầntrong cấu trúccủa hàmNêuđượccấu trúc củahàm.Nhậnbiếtđượcmộtchương trìnhcondạnghàm6Bài tập Nhậnbiếtđịnhđượcbiếnlượngtoàncục,biến cục bộ;tham số hìnhthức và thamsố thực sựtrongmộtchương trìnhcó sử dụnghàmBài tậpthực hànhHiểu được ýnghĩa và tácdụng của thamsố giá trị vàtham số biến.Khai báođượcchươngtrình condạng hàmđểgiảiquyết vấnđề trongtình huốngquen thuộcKhai báođượcchươngtrình condạng hàmđểgiảiquyết vấnđề trongtình huốngmới.Sử dụng đúngbiến toàn cục vàbiến cục bộtrong chươngtrình có sử dụnghàm.HS sửa lỗi củahàm giải quyếtmột tình huốngquen thuộcHSviếtđượcchươngtrình có sửdụngchươngtrình condạng hàmđểgiảiquyết vấnđề trongtình huốngquen thuộcHSviếtđượcchươngtrình có sửdụngchươngtrình condạng hàmđểgiảiquyết vấnđề trongtình huốngmới.Bước 5: Biên soạn các câu hỏi/bài tập/phiếu học tập.Trong khuôn khổ của đề tài, tôi chỉ trình bày những câu hỏi/bài tập/phiếuhọc tập được sử dụng trong quá trình dạy học và luyện tập dựa trên trình độ hiệncó của học sinh và các mục tiêu năng lực đã xác định. Còn phần kiểm tra, đánhgiá xin được trình bày vào một dịp khác.Do sáng kiến kinh nghiệm có giới hạn về số trang nên tôi xin phép đượctrình bày những câu hỏi/bài tập/phiếu học tập cụ thể trong Bước 6 và các chươngtrình minh họa trong bài học xin trình bày trong phần Phụ lục.Bước 6: Thiết kế tiến trình dạy họcCHUẨN BỊ1. Giáo viên:- Giáo án, máy tính có cài chương trình Powerpoint, Free Pascal, máy chiếu đanăng, giấy A4, bảng phụ, bút dạ, nam châm.7- Giáo viên chuẩn bị trước các chương trình [cụ thể trong Phụ lục] để trình chiếuvà chạy minh họa cho học sinh2. Học sinh: Vở ghi, sách giáo khoa, giấy A4.TIẾN TRÌNH DẠY HỌC.A. KHỞI ĐỘNG.a. Mục tiêu- Kiểm tra kiến thức viết chương trình đơn giản đã được học.- Gợi động cơ: Giáo viên đưa ra tình huống có vấn đề gợi cho học sinh có nhucầu muốn tìm hiểu khám phá chương trình con để giải quyết.b. Phương pháp/kĩ thuật: Vấn đáp, tìm tòi, phát hiện, giải quyết vấn đề.c. Hình thức tổ chức hoạt động: Cá nhân, thảo luận nhómd. Phương tiện dạy học: SGK, máy tính, máy chiếu, các chương trình 1,2,3,4.e. Sản phẩm: - Học sinh viết được chương trình tính lũy thừa a n, thấy được sựcần thiết phải sử dụng chương trình con và một số lợi ích khi sử dụng chươngtrình con.Nội dung hoạt động1. GV chiếu đề bài Bài toán 1: Viết chương trình tính an.Yêu cầu tất cả học sinh thực hiện vào giấy A4.- GV gọi 1 học sinh lên bảng trình bày bài làm của mình. Gọi 1 học sinh khácnhận xét. Rồi giáo viên nhận xét, cho điểm học sinh và chiếu chương trình đúng[Chương trình 1- Phụ lục] đã chuẩn bị ở nhà và chạy thử cho học sinh xem.2. Giáo viên chiếu đề bàiBài toán 2: Viết chương trình tính tổng 4 lũy thừa T= an+bm+cp+dq- GV để giải quyết bài toán 2 ta phải tính bao nhiêu lũy thừa? Phải khai báonhững biến nào?- HS trả lờiGV chiếu chương trình 2 [trong Phụ lục] và chạy thử cho học sinh xem.Yêu cầu HS nhận xét về số biến sử dụng trong chương trình, số lượng câu lệnhtương tự nhau.HS nhận xét theo yêu cầu của giáo viên.GV nhận xét câu trả lời của học sinh và chuẩn hóa [số lượng biến nhiều:14 biếnvà có 4 đoạn lệnh tương tự nhau].3. GV đưa ra Bài toán 3: Viết chương trình tính tổng của 4000 lũy thừa với cáccơ số và số mũ được đọc từ tệp ‘LT.INP’.- GV: Nếu giải quyết bài toán 3 giống như 2 chương trình giải quyết bài toán 1và bài toán 2 như trên thì ta phải dùng bao nhiêu biến?- HS trả lời: rất nhiều lên tới hơn 10000 biến8- GV: Để khắc phục vấn đề đó các em sẽ giải quyết như thế nào? Các em đã họckiểu dữ liệu nào có thể giải quyết được vấn đề nêu trên?- HS trả lời: Ta sẽ phải sử dụng kiểu mảng.- GV: Nếu sử dụng kiểu dữ liệu mảng ta có thể giải quyết được vấn đề sử dụngnhiều biến đơn. Còn để tính được tổng của 4000 lũy thừa thì ta phải tính baonhiêu lũy thừa?- HS trả lời: 4000 lũy thừa- GV: Nếu viết chương trình tương tự như chương trình 2 có được không?- HS trả lời: không nên vì chương trình rất dài4. Để giải quyết vấn đề trên, các ngôn ngữ lập trình cho phép cấu trúc chươngtrình thành các chương trình con. Mỗi chương trình con có thể viết một lần vàtruy xuất nó nhiều lần mỗi khi cần dùng đến. Chẳng hạn, ta có thể viết chươngtrình con nhập vào 2 số là cơ số và số mũ của một lũy thừa từ bàn phím và gọisử dụng nó nhiều lần khi cần tính các tổng lũy thừa. Tương tự như vậy, ta cũngviết một chương trình con tính lũy thừa và gọi nó sử dụng nhiều lần.- GV chiếu chương trình 3 [trong Phụ lục] và chạy thử cho HS xem.- GV: Yêu cầu học sinh so sánh chương trình 3 với chương trình 2.- HS trả lời: chương trình 3 ngắn gọn dễ hiểu hơn.- GV chiếu chương trình 4 [trong Phụ lục] và chạy thử cho HS xemB. HÌNH THÀNH KIẾN THỨC VÀ LUYỆN TẬP.1. Hoạt động 1:Tìm hiểu khái niệm chương trình con và lợi ích khi sử dụngchương trình con.a. Mục tiêu: HS biết được khái niệm chương trình con và các lợi ích khi sử dụngchương trình conb. Phương pháp/kĩ thuật: Vấn đáp, tìm tòi, phát hiện.c. Hình thức tổ chức hoạt động: Cá nhân, thảo luận nhóm.d. Phương tiện dạy học: SGK, máy tính, máy chiếu, chương trình 3.e. Sản phẩm: - Học sinh nêu được khái niệm chương trình con và một số lợi íchkhi sử dụng chương trình con.- Hoàn thành được các yêu cầu trong phiếu học tập [bảng phụ].Nội dung hoạt động1. GV: Trong chương trình 3 ở trên có sử dụng chương trình con nhập vào từbàn phím cơ số và số mũ của lũy thừa và chương trình con tính lũy thừa x k . Cònở chương trình 4 thì chỉ sử dụng mình chương trình con tính lũy thừa x k. Ởchương trình 3 thì chương trình con được gọi sử dụng 4 lần, còn ở chương trình4 thì chương trình con được gọi n lần [vì câu lệnh gọi được đặt trong vòng lặp nlần]. Vậy từ những ví dụ nêu trên, kết hợp với tham khảo sách giáo khoa các emhãy phát biểu khái niệm chương trình con?9- HS trả lời.- GV nhận xét và chuẩn hóa kiến thức.Chương trình con là một dãy lệnh mô tả một số thao tá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.2. GV chia lớp thành 3 nhóm, phát bút dạ và bảng phụ cho mỗi nhóm, yêu cầuHS điền lợi ích của việc sử dụng chương trình con vào bảng.- HS tham khảo sách giáo khoa, thảo luận và điền vào bảng phụ.- GV cho HS treo bảng phụ của nhóm mình lên bảng báo cáo kết quả.- Yêu cầu các HS khác nhóm nhận xét.- Sau đó giáo viên nhận xét từng nhóm và chuẩn hóa kiến thức; khen ngợi nhómnào thực hiện tốt.Lợi ích của việc sử dụng chương trình con:- Chương trình dễ đọc, dễ hiểu, dễ kiểm tra.- Không phải viết lặp đi lặp lại cùng một dãy lệnh nào đó.- Có thể giao nhiều người cùng viết một chương trình, mỗi người viết mộtchương trình con rồi ghép lại  Hỗ trợ việc thực hiện chương trình lớn.- Thuận tiện cho việc phát triển và nâng cấp chương trình.3. Vẫn giữ nguyên 3 nhóm như trên, GV lại phát bảng phụ cho các nhóm và yêucầu HS đề xuất các bài toán mà chương trình giải quyết bài toán đó có thể tổchức sử dụng chương trình con.HS thảo luận và điền vào bảng phụ.GV thu bảng phụ và treo tất cả lên bảng cho cả lớp xem và so sánh giữa cácnhóm.GV nhận xét và khen ngợi nhóm thực hiện tốt.Một số bài toán có thể sử dụng chương trình con đề giải quyết:- Tính tổng các giai thừa- Đếm các số nguyên tố trong một dãy cho trước.- Tính chu vi diện tích của n hình khi biết kích thước của nó [hình chữ nhật, tamgiác, hình tròn, hình vuông…]- Nhập vào n xâu. Kiểm tra các xâu đó có phải là các xâu đối xứng hay không.2. Hoạt động 2: Tìm hiểu sự phân loại và cấu trúc chung của chương trình con.a. Mục tiêu: HS biết được cấu trúc chung của chương trình con và biết rằngchương trình con thông thường gồm 2 loại là hàm và thủ tục.b. Phương pháp/kĩ thuật: Vấn đáp, thuyết trình.c. Hình thức tổ chức hoạt động: Cá nhân, thảo luận nhóm.d. Phương tiện dạy học: Sách giáo khoa, máy tính, máy chiếu, chương trình 3.e. Sản phẩm:10- Học sinh biết được 2 loại chương trình con, phân biệt được hàm và thủ tụcchuẩn.- HS nêu được cấu trúc chung của chương trình con, chỉ ra được từng thànhphần của chương trình con trong ví dụ về chương trình con cho trước.- HS hiểu được ý nghĩa và tác dụng của biến cục bộ và biến toàn cục, chỉ rađược biến cục bộ và biến toàn cục trong chương trình.Nội dung hoạt động- GV thuyết trình: Trong nhiều ngôn ngữ lập trình, chương trình con thườnggồm hai 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ề một giá trị qua tên của nó.Ví dụ: abs[x]  trả về giá trị tuyệt đối của x.length[s]  trả về giá trị là độ dài của xâu s.lt[x,k]  trả về giá trị là xk.* Thủ tục – program: là chương trình con thực hiện các thao tác nhất địnhnhưng không trả về giá trị nào qua tên của nó.Ví dụ: writeln, readln, delete[st,vt,n]; nhap[x,k]; …- GV phát vấn: Em hãy nêu cấu trúc của chương trình mà ta đã được học?- HS trả lời: Gồm 2 phần:
[]
- GV: phần khai báo có thể có hoặc không, nếu có thì khai báo những gì?- HS trả lời: Khai báo tên chương trình, khai báo thư viện, khai báo hằng, khaibáo biến..- GV: Chương trình con có cấu trúc tương tự chương trình. Chỉ khác một điểm làchương trình có thể khai báo tên hoặc không nhưng trong chương trình con thìnhất thiết phải khai báo tên nên phần khai báo ta tách ra làm 2 phần đó là phầnđầu và phần khai báo. Ai có thể lên bảng viết cho cô cấu trúc chung của chươngtrình con?- HS lên bảng viết cấu trúc chung của chương trình con:


[]
- GV: Phần đầu dùng để khai báo tên chương trình con, các tham số nếu có vàkiểu dữ liệu trả về nếu chương trình con đó là hàm.? Theo các em, phần khai báo của chương trình con dùng để khai báo những gì- HS trả lời: có thể khai báo thư viện, khai báo hằng và khai báo biến.11? Theo các em, những khai báo ở phần khai báo của chương trình con thì cácchương trình con khác và chương trình chính có được sử dụng không?- HS trả lời.- GV chuẩn hóa. Những khai báo ở chương trình con thì chỉ được sử dụng chochương trình con đó và các chương trình con nằm trong nó. Các chương trìnhcon khác và chương trình chính không được sử dụng.GV thuyết trình: Các biến được khai báo ở chương trình con được gọi là biếncục bộ. Còn các biến được khai báo ở chương trình chính được gọi là biến toàncục.? Các em hãy nêu phạm vi tác dụng của biến toàn cục và biến cục bộ?- HS trả lời.- GV nhận xét, chuẩn hóa: Biến cục bộ chỉ được sử dụng cho chương trình conkhai báo nó còn biến toàn cục thì được sử dụng cho toàn bộ chương trình chínhvà các chương trình con nằm trong nó.- GV chiếu chương trình 3 lên bảng và chia lớp thành 3 nhóm, yêu cầu học sinhthảo luận chỉ ra từng thành phần trong các chương trình con, chỉ ra biến cục bộvà biến toàn cục trong chương trình.- HS thảo luận rồi trình bày- GV nhận xét và chuẩn hóa:1. Trong chương trình 3 có sử dụng 2 chương trình conThủ tục nhap chỉ có 2 phần:Phần đầu là: procedure nhap[var x:real; var k:integer];Phần khai báo không có.Phần thân là: beginwrite['nhap co so va so mu:']; readln[x,k];end;Hàm lt có 3 phần:Phần đầu là: function lt[x:real;k:integer]:real;Phần khai báo là: var i:integer;t:real;Phần thân là: begint:=1;for i:=1 to k do t:=t*x;lt:=t;end;2. Biến toàn cục trong chương trình 3 là: a,b,c,d,tlt,n,m,p,qBiến cục bộ trong chương trình 3 là: i,t- GV: Nếu biến cục bộ và biến toàn cục trùng tên nhau thì chương trình con sẽsử dụng biến toàn cục hay biến cục bộ?- HS suy nghĩ trả lời.12- GV chuẩn hóa: Nếu biến toàn cục và cục bộ trùng tên nhau thì khi thực hiệnchương trình thì máy tính sẽ cấp phát bộ nhớ cho các biến khác nhau. Như vậymặc dù trùng tên nhưng thực ra đó là 2 biến khác nhau và chương trình con sẽsử dụng biến cục bộ. Biến cục bộ chỉ được cấp phát bộ nhớ khi chương trình conđược gọi để thực hiện và nó được giải phóng ngay sau khi chương trình con kếtthúc. Tuy nhiên, các em không nên đặt tên biến toàn cục và biến cục bộ trùngnhau.3. Hoạt động 3: Tìm hiểu cấu trúc của hàm và thủ tục; tham số hình thức vàtham số thực sự của chương trình con.a. Mục tiêu:- HS biết được cấu trúc chung của hàm và thủ tục.- HS hiểu được cơ chế hoạt động của chương trình con khi có lệnh gọi nó.- HS chỉ ra và phân biệt được tham số hình thức và tham số thực sự của chươngtrình con.b. Phương pháp/kĩ thuật: Vấn đáp, thuyết trình.c. Hình thức tổ chức hoạt động: Cá nhân, thảo luận nhóm.d. Phương tiện dạy học: Sách giáo khoa, máy tính, máy chiếu, các chương trình3, 5, Minbaso.e. Sản phẩm:- HS nêu được cấu trúc của hàm và thủ tục.- HS chỉ ra được tham số hình thức, tham số thực sự trong chương trình.- HS chỉ ra được vị trí khai báo chương trình con là trong phần khai báo củachương trình chính.- HS chỉ ra được câu lệnh gọi chương trình con trong chương trình.Nội dung hoạt động1. GV chiếu chương trình 3 lên bảng. Trong chương trình 3 có sử dụng thủ tụcnhap và hàm lt. Yêu cầu HS so sánh phần đầu của thủ tục nhap và hàm lt.procedure nhap[var x:real; var k:integer];function lt[x:real;k:integer]:real;- HS thực hiện theo yêu cầu của giáo viên.- GV gọi HS trả lời; gọi các HS khác nhận xét, bổ sung.- GV nhận xét và chuẩn hóa. Phần đầu của thủ tục nhap bắt đầu với từ khóa Procedure còn phần đầucủa hàm lt bắt đầu với từ khóa function Sau từ khóa đều là tên và các tham số của chương trình con. Riêng hàm lt thì khai báo thêm kiểu dữ liệu trả về còn thủ tục thì không.13- GV: Như vậy điểm khác biệt cơ bản giữa hàm và thủ tục là hàm trả về một giátrị của nó thông qua tên hàm còn thủ tục thì không nên dẫn đến cấu trúc và cáchgọi hàm và thủ tục cũng khác nhau.- Chúng ta cùng tìm hiểu cấu trúc của hàm và thủ tục. GV ghi cấu trúc của hàmvà thủ tục lên bảng:Thành phầnCấu trúc của thủ tụcCấu trúc của hàmPhần đầuProcedure

Video liên quan

Chủ Đề