4.1用解析法设计程序
[授课形式]
讲授课、实践课
[教学目标]
1、 了解解析法的基本概念及用解析法设计算法的基本过程。
2、 能够用解析法分析简单问题,设计算法,编写程序求解问题。
[教学重点]
1、 理解解析法的基本概念。
2、 根据算法写出程序代码并且调试程序求得问题的正确解答的能力。
3、 根据问题的特点,找到系统提供的资源,简化问题的求解过程。
[教学难点]
1、 解析式的导出或方程(组)的列出并求解。
2、 算法的合理设计。
[教学方法]
讲授法、探究法、演练法
[教学课时]
2课时
[教学过程]
一、(引入)数学王子高斯的故事
得出结论:面对一个问题,找到一个恰当的解决方案,会使一个很难或很繁的问题变得简单。
二、用解析法求解问题的基本过程
从古埃及测量金字塔高度的问题出发导入本问题,然后导出解决的解析式。
1、测量高度问题的求解
(1)分析问题:使用三角函数知识分析问题。
AB=BN-AN=MN/tanβ-MN/tanα
AB=a
所以MN=a/(1/ tanβ-1/ tanα)
(2)设计算法
注意:VB的正切函数的自变量单位是弧度,如果α是角度,则应该转换为弧度。
弧度=(角度 *3.14159/180)
(3)编写程序
界面设计
Private Sub Command1_Click()
a = Val(Text1.Text)
Alpha = Val(Text2.Text)
bata = Val(Text3.Text)
pi = 3.14159265
COTA = 1 / Tan(Alpha * pi / 180) ‘Alpha * pi / 180是角度转换为弧度
COTB = 1 / Tan(bata * pi / 180)
MN = a / (COTB - COTA)
Text4.Text = MN
End Sub
(4)调试程序
2、解析法的基本概念
通过分析问题中各要素之间的关系,用最简练的语言或形式化的符号来表达它们的关系,得出解决问题所需的表达式,然后设计程序求解问题的方法称为解析法。
三、用解析法求解问题的实践
例:P99问题4-2
(老师引导学生分析,设计算法)
(1)分析问题 (2)设计算法 (3)编写程序 (4)调试程序
让学生进一步掌握循环结构的使用
注意:用循环结构实现解析式的计算时并非简单的完全重复,而是有些数据会在重复中改变,循环控制变量往往同时扮演这些改变的数据的角色,二者之间如何配合,则需要考试选择哪一种形式的循环结构来完全比较适合。
结论:许多的问题不是计算一个单一的解析式就可以完成任务的,还要根据问题给出的已知条件、运用归纳、演绎等逻辑方法,揭示问题各要素之间的关系,寻找表示这种关系的表达式,有时需要计算的解析式是一组而不仅仅是一条,需要使用合适的结构(许多可使用循环结构)实现算法设计算法和编制程序,求得问题的答案。
四、学生实践
研究P102实践题1
学生分析用三种运算方法来计算,对三种不同的计算方法得到不同的结果讨论,说明原因
了解:“计算机是会有误差的”,不要以为计算机算出的结果就一定是准确的,进一步明白为什么程序调试是设计程序求解问题的一个必不可少的步骤。
P102实践题2
对学生作提示
使用VB提供的日期型数据进行设计算法,掌握日期型之间的运算。
五、练习(P103)