内容正文:
2.4 常见算法的程序实现
教学目标
理解解析算法和枚举算法,根据需要选用这两种算法,编程实现简单问题求解。
认识问题解决中不同算法的效率,完成项目程序的调试与运行。
体验探究
绿灯时长的最优设置
通常,行人步行速度约为4.4km/h,观察到信号灯变化后的反应时间约为2s。要保证过街行人能走过长为20m的人行横道,人行过街绿灯时长至少需要设置为多少?
思考:
1. 写出求解绿灯最短时长的计算公式。
2. 结合实际道路情况,思考在设置人行过街绿灯时长时需要考虑哪些因素,试着给出绿灯时长的最优设置模型。
2.4.1基于解析算法的问题解决
解析算法指通过找出解决问题的前提条件与结果之间关系的表达式,并计算表达来实现问题的求解。
许多问题可以通过分析,抽象成数学模型,借助解析式,用已知条件为变量赋值进行求解。
例如,在“体验探索”中求解行人过马路最短绿灯时长时,可以应用行程问题相关公式,先计算行人过马路的时间 ,然后建立数学模型,得到行人过街绿灯最短时长公式,最后只要将已知条件代入公式即可完成该问题求解。
2.4.1基于解析算法的问题解决
例1:自由落体运动问题
从离地500m的高处自由落下一个小球,求从开始落下的时刻起,小球在最后1s内的位移(重力加速度g以9.8m/s2计)。
(1)分析问题
已知条件:小球离地高度500m,重力加速度g为9.8m/s2;
求解目标:小球在下落最后1s内的位移;
已知与未知的关系:可用自由落体运动位移与时间关系的公式 , 求解出下落时间t,以及最后1s内小球的位移。
2.4.1基于解析算法的问题解决
例1:自由落体运动问题
从离地500m的高处自由落下一个小球,求从开始落下的时刻起,小球在最后1s内的位移(重力加速度g以9.8m/s2计)。
(2)设计算法
在该问题中,要计算最后1s内小球的位移,首先要求出小球的落地时间t,由 可以得出落地时间 ;然后计算前(t-1)s小球下落的高度hx;最后求出总高度h(500m)与hx的差hh,即为最后1s内小球的位移。
2.4.1基于解析算法的问题解决
(2)设计算法
该问题求解算法的流程图如右图所示:
例1:自由落体运动问题
从离地500m的高处自由落下一个