(
课件网) 广义上讲,算法是解决一个特定问题而采取的确定的、有限的步骤。 在计算机领域,算法作为一个精心设计的运算序列,描述了计算机如何将输入转化为输出的过程 2.4 常见算法的程序实现 1.基于解析算法的问题解决 2.基于枚举算法的问题解决 学习目标 理解解析算法和枚举算法,根据需要选用这两种算法,编程实现简单问题求解。 认识问题解决中不同算法的效率,完成项目程序的调试与运行 体验探索 绿灯时长的最优设置 通常,行人步行速度约为4.4km/h,观察到信号灯变化一的反应时间约为2s。要保证过街行人能走过长为20m的人行横道,人行过街绿灯时长至少需要设置为多少? 思考: 1.写出求解绿灯最短时长的计算公式: 。 2.结合实际道路情况,思考在设置人行过街绿灯时长时需要考虑哪些因素,试着给出绿灯时长的最优设置模型。 自助式人行过街红绿灯 分析问题 已知条件 求解目标 确立数学关系,建立数学模型。 1.写出求解绿灯最短时长的计算公式: t=s/v+t 。 建立数学模型 数学模型是用数学符号、数学式子、程序、图形等对实际问题本质属性的抽象而又简洁的刻画。 建立数学模型,就是根据实际问题来简化假设、分析内在规律,之后抽象成为数学的符号和语言。 2.结合实际道路情况,思考在设置人行过街绿灯时长时需要考虑哪些因素,试着给出绿灯时长的最优设置模型。 成人 1.2 1~2 老人和孩子 0.9 3 要在学校门口(马路宽20 m)设置一个“自助式人行过街红绿灯”,参考下表数据,绿灯时长最少应为多少秒 此处的“最少”≠数值“最小” 向上取整 / s 18.7 25.2 19 26 步行速度/( m·s-1) 反应时间 / s 计算结果 / s 马路宽度 s 步行速度 v 人反应时间 t0 2.4.1 基于解析算法的问题解决 定义:解析算法指通过找出解决问题的前提条件与结果之间关系的表达式,并计算表达式来实现问题的求解。 例如,在“体验探索”中求解行人过马路最短绿灯时长公式: t绿灯时长= t人反应 + s/v 编程 调试 已知 条件 求解 目标 二者 关系 计算 基于解析算法的问题解决方法及步骤 解析算法 通过分析问题的已知条件和求解目标,抽象成数学模型,借助解析式,用已知条件为变量赋值进行求解。 例如:绿灯时长的最优设置 已知 求解 解析式 研究性学习中的问题 现实生活中的问题 km km km 例1:自由落体运行问题 问题:从离地500m的高处自由落下一个小球,求从开始落下的时刻起,小球在最后1s内的位移(重力加速度g以9.8m/s2计) 已知条件:小球离地高度500m,重力加速度g以9.8m/s2重力; 求解目标:小球在下落最后1s内的位移; 已知与未知的关系:可用自由落体运行位移与时间公式h=1/2gt2,求解出下落时间t,以及最后1s内小球的位移。 (1)分析问题 (2)设计算法 在该问题中,要计算最后1s内小球的位移,首先要求出小球的落地时间t,由h=1/2gt2 可以得出落地t= ;然后计算前(t-1)s小球下落的高度hx;最后求出总高度h(500m)与hx的差hh,即为最后1s内小球的位移。 开始 h←500,g←9.8 结束 输出最后1秒的位移hh hh ← h-hx 求解算法的流程图如下图示: 自由落体运动问题求解流程图 运行结果 (3)编程实现与调试 (4)保存文件,调试运行程序 import math h=500 g=9.8 t=math.sqrt(2*h/g) hx=0.5*g*(t-1)**2 hh=h-hx print("小球最后1秒下落的位移是:",hh,"米") 实践活动 编写程序研究某山地的气温分布P72 某地区为了开发山区农业,需要了解山地的变化。现已知该地山区海拔每升高100m,气温下降约0.5°C,山地最高海拔为1500m,山脚下的年平均气温为22°C(假设山脚海拔为0m). 1.依据气温随海拔升高而变化的规律,写出计算该山地不同海拔调试的气温的解析式,并编程实现。 2.某种植物 ... ...