《模块化程序设计——函数的定义与调用》教学设计 
课程标准中的相关内容: 
理解模块化程序设计的基本思想 
 初步掌握其基本方法 
一、教学目标 
根据上述课程标准,确定本节课的教学目标如下: 
? 知识与技能 
 理解模块化程序设计的基本思想 
 掌握VB语言中函数的定义与调用 
 使用模块化思想设计程序,解决实际问题 
? 过程与方法 
① 通过自然语言的步骤分析理解模块化程序设计的基本思想 
② 通过VB编程软件实操体验函数的定义与调用 
? 情感态度与价值观 
 ① 拓宽了学生对VB程序设计语言的认识 
② 了解模块化程序设计的基本思想的现实应用,增强了对技术世界的认知 
 ③ 在解决问题的过程中进一步培养和提升学生的逻辑思维能力 
二、教材分析 
 在社会活动中,人们对于一些大型的、复杂的问题进行求解,常常会把它们分解为更小、更简单和更容易处理的子问题。当这些子问题被求解以后,原来的问题就可以随着这些子问题的解决迎刃而解。这种解决问题的方法应用到程序设计中,就是模块化程序设计思想。 
本课例是广东教育出版社出版的普通高中信息技术(选修1) 《算法与程序设计》 教材2.5.2节《过程与函数》中的教学内容。通过本节的学习,让学生理解模块化程序设计的基本思想,掌握VB语言中的函数的定义与调用,使学生初步掌握使用模块化程序设计思想解决实际问题的基本方法,为后续的学习打下良好基础。 
三、重点难点分析 
? 教学重点 
让学生掌握VB语言中的函数的定义和调用 
? 教学难点 
理解模块化程序设计的基本思想,并运用于程序设计中 
四、学情分析 
教学对象是本校高一年级学生。高中学生具备一定的生活阅历,有较强的分析概括能力。在前一阶段的学习中,他们初步掌握了程序的顺序、选择、循环三大结构,具备了一定的程序设计基础。掌握了VB语言中若干控件的使用,并会对简单的计算机程序进行调试。以上所述都为本课的学习打下比较好的基础。期望通过本课的学习,让学生能更全面地认知面向对象程序设计。 
五、教学过程 
教学环节 
教师活动 
学生活动 
设计意图 
温故知新 
(3分钟) 
已有知识铺垫:利用鼠标事件在画板背景上用实线画出一个凸N边形,再用虚线划分成若干个三角形。利用了一个label控件动态数组a记录了凸N边形每个顶点坐标。 
a1 
a2 
a3 
a4 
a5 
false 
知识推进:求凸N边形面积的数学方法就是 
化解为多个三角形面积之和的小问题来解决 
⒈学生回忆相关学习体验。 
⒉听讲、思考、回答 
唤起学生对之前已学过的知识的回忆,进而引出本文的主题 
求两点间距离函数的定义和初步调用 
(12分钟) 
1.结合模块化思想进行任务分解:先解决求平面上两顶点间距离 
2.教师展示求两点间距离的数学求解公式 
3集体演示该公式的程序代码 
 Sqr((x2 - x1) ^ 2 + (y2 - y1) ^ 2) 
4.介绍新的解决方法——自定义函数 
【两点间距离函数定义代码】 
Private Function dis(x1 As Single, y1 As Single, x2 As Single, y2 As Single) '定义计算两点间距离公式的函数 
dis = Sqr((x2 - x1) ^ 2 + (y2 - y1) ^ 2) 
End Function 
⒌讲授如何调用已定义了函数 
⒍要求学生使用测试样例测试 
【求两点间距离函数测试调用代码】 
Label3.Caption = dis(2,2,1,1,) 
正确结果应该是1.41 
7.引导学生掌握函数的形参、实参的概念 
⒈学生思考,回答问题。 
⒉学生在教师分析下理解函数定义的过程 
⒊学生在VB中尝试定义求两点间距离的函数 
⒈求两点间距离的实例能引起学生探索的兴趣。 
⒉引导学生掌握函数的定义和调用 
⒊使用测试样例,引导学生及时检验定义的函数是否正确,有利于后续编程的顺利开展 
调用函数解决实际问题 
(8分钟) 
1.知识结接轨:利用已生成的动态数组作为实参,求出图形中a1a2的距离 
2.【利用两点间距离函数求解】 
label2.Caption = dis(a(1).Left, a(1).Top, a(2).Left, a(2).Top) 
3.验证结果是否正确 
⒈学生上机实操调用已定义的函数 
⒉学生在教师引导下完成目标程序的设计 
引导学生知识迁移,能正确调用已定义的函数 
对比认知函数封装和重用的作用 
(15分钟) 
提出问题:那如果不使用函数解决呢? 
提问学生:如何修改代码中的实参? 
【调用函数求凸N边形面积的关键代码】 
Label3.Caption = Sqr((a(2).Left - a(1).Left) ^ 2 + (a(2).Top - a(1).Top) ^ 2) 
4.对比验证结果是否正确 
5.通过前后代码对比认识函数封装性: 
①如果直接编写代码,用户使用的时候就要读懂整段代码才能正确使用 
②如果使用函数,那么用户就可以不用理解其内部机制,直接拿来使用 
③使用函数还可以提高程序的可读性 
6.教师演示分析函数的可重用性 
⒈学生认真听讲,思考 
⒉学生修改代码,对比认知 
1.通过对比认知,了解函数的封装作用 
2.通过教师演示了解函数的可重用性 
归纳总结 
(2分钟) 
总结函数的定义和调用方法。 
小结函数的作用 
学生听讲 
通过知识总结,帮助学生将知识系统化,便于学生理解记忆。