2.4.1基于解析算法的问题解决 课件(共22张PPT)2023—-2024学年人教_中图版(2019)高中信息技术必修1

资源下载
  1. 二一教育资源

2.4.1基于解析算法的问题解决 课件(共22张PPT)2023—-2024学年人教_中图版(2019)高中信息技术必修1

资源简介

(共22张PPT)
广义上讲,算法是解决一个特定问题而采取的确定的、有限的步骤。
在计算机领域,算法作为一个精心设计的运算序列,描述了计算机如何将输入转化为输出的过程
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.某种植物适宜生长在气温为18~20°C的山区,如果要分析这种植物应被种植在该山地多高的地区为宜,需要如何修改算法?试编程实现。
现有一段长度为66 km的测速区间,汽车的限速是100 km/h。数据中心需要编写一段程序来判断汽车是否超速通过。
例2: 区间测速
要判断小车是否在区间内超速,需要求得小车的平均时速,并与限速对比,如果大于限速则超速,否则就是正常通过。
求平均时速需要提供区间距离和通过时间。
区间距离已经明确,小车的通过时间可以由前后两个监测点的时间差判定,为简化问题,我们可以将通过时间设为输入数据。
分析问题
已知
求解
数学模型
设计算法
输入t
s=66
v=s/t*60
开始
结束
输出'超速通过'
v>100
输出'正常通过'


(t以分钟为单位。)
编程实现
s=66
t=int(input("请输入通过限速路段时间:"))
v=s/t*60
if v>100:
print("超速通过!")
else:
print("正常通过")
分析问题
分析出已知条件、求解目标和已知与未知的关系。
设计算法
然后推导构建出解析式。
编程调试
最后将数学解析式转换成程序表达式,进行编程实现并调试。
解析算法
基于解析算法的问题解决
微信抢红包
微信红包是大家都熟悉的一种游戏娱乐方式。
请思考:红包的数额是如何生成的?
为什么你打开的红包金额和别人的不一样?
实践探索
练习提升
1.交通信号“绿波带”是根据车辆运行情况对各路口红绿灯进行协调,使车辆通过路口时能连续获得一路绿灯。某路段启用了“绿波带”技术,如下图示,全长1.6km,5个灯控路口,提示的“绿波速度”为60km/h,假设5个灯控路口间距相等。在公考虑一辆车通行的情况下,如果实现“绿波”交通,那么相信两个路口间绿灯亮起的最大时间间隔应该设置为多少?思考该问题求解的算法并编程实现。
阅读拓展
利用“割圆术”求π的近似值P72
import math
n=int(input("请输入正多边形的边数(n大于或等于6,且是6乘2的整数次方):"))
i=6
x=1
s=6*math.sqrt(3)/4
while i<=n/2:
h=math.sqrt(1-(x/2)**2)
s=s+i*w*(1-h)/2
x=math.sqrt((x/2)**2+(1-h)**2)
i=2*i
print("当正多边形的边数为",n,"时,π的近似值为:",s)
程序代码:
分析问题
分析出已知条件、求解目标和已知与未知的关系。
设计算法
然后推导构建出解析式。
编程调试
最后将数学解析式转换成程序表达式,进行编程实现并调试。
解析算法
基于解析算法的问题解决
课堂小结

展开更多......

收起↑

资源预览