人教_中图版(2019)高中信息技术必修1课件:2.4.1 2.4.2常见算法的程序实现(14张幻灯片)

文档属性

名称 人教_中图版(2019)高中信息技术必修1课件:2.4.1 2.4.2常见算法的程序实现(14张幻灯片)
格式 pptx
文件大小 13.3MB
资源类型 教案
版本资源 中图版(2019)
科目 信息技术(信息科技)
更新时间 2020-07-22 07:59:10

图片预览

文档简介

常见算法的程序实现
DESIGNED BY
INFORMATION
porttitor congue massa
基于解析算法的问题解决
基于枚举算法的问题解决
算法与程序实现的综合应用
TITLE 01
TITLE 02
TITLE 03
绿灯时长的最优设置
行人步行速度约为4.4?km/h,观察到信号灯变化后的反应时间约为2s,要保证过街行人能走过长为20m的人行横道,人们过街绿灯时长至少需要设置为多少?
思考:1.写出求解绿灯最短时长的计算公式:
2.结合实际道路情况,思考在设置人行过街绿灯时长时需要考虑哪些因素,试着给出
绿灯时长的最优设置模型
思考:绿灯最短时长:
=反应时间+过街时间
设置时长需要考虑的因素:
速度差异,反应时差…
建立模型:
t绿灯长=t过马路+t人反应
t过马路=s马路/v人步行
t绿灯长=s马路/v人步行 + t人反应
2s+20m/4.4km/h
基于解析算法的问题解决
分析问题
保存文件,调试运行程序
编程实现与调试
设计算法
自由落体运动
问题 : 从离地500?m的高处自由落下一个小球,求从开始落下的时刻起,小球在最后1s内
的位移(重力加速度g以 9 .8?m/s2计)。
(1)分析问题
已 知 条 件 : 小球离地高度500?m,重力加速度g为9.8?m/s2?;
求 解 目 标 : 小球在下落最后1s内的位移:
已 知 与 未 知 的 关 系 : 可用自由落体运动位移与时间关系的公式h=?gt2求解出下落时间t,以及最后1?s内小球的位移。
(2)设计算法
elit maecenas porttitor congue massa
(3)编程实现与调试
import math
h=500
g=9.8
t=math.sqrt(2*h/g)
hx=g*(t-1)*(t-1)/2
hh=h-hx
print("小球最后1 S下落的位移是:",hh,"m")
ASPIRATION
ASPIRATION
elit maecenas porttitor congue massa
4)保存文件,编程调试运行程序
ASPIRATION
ASPIRATION
编程解决问题时,要善于综合运用物理、数学、化学、等学科的知识和方法来分析问题,寻找问题中各要素之间的关系,得出解决问题所需的表达式。
基于枚举算法的问题解决
分析问题
保存文件,调试运行程序
编程实现与调试
设计算法
票据中模糊数字推断问题
问题:一张票据上有一个由4位数字组成的编号,甲说数字编号的前两位数字相同但都不是零;乙说数字编号的后两位数字是相同的,但与前两位不同;丙说数字编号是一个整数的二次方,试根据以上线索推断出编号
(1)分析问题
已知条件 : 假设4位数字的编号是AABB、其中A≠0,A≠B, 且AABB是
一个整数的二次方
求解目标 : 票据中的数字:
已知与未知的关系 : 要求解的4位数字的编号必须同时满足所有的已知条件
INFODATA
elit maecenas porttitor congue massa
(2)设计算法
根据问题分析,只要一一列举出4位数字AABB中A与B的所有可能组合,保证A≠B?且A≠0.再验证二次方问题,就可以得到同题的解。因此,该问题可使用枚举算法求解完成,其算法的流程图如图所示
morbi
(3)编程实现与调试
import?math
for?A?in?range(1,?10):
for?B?in?range?(0,?10):
if A?!=?B:
k=A*1000+A*100+B*10+B
c?=int (math.?sqrt(k)) # 求4位数字
AABB的算术平方根
并取其整数部分
if?c*c==?k: # 若k是完全平方数,
则找到该票据编号print("票据编号是:”,k)
elit maecenas porttitor congue massa
枚举算法在生活中有着比较广泛的应用场景,适合解决求解的答案数量有限,并且可能的答案暗示按照某种规则列举出来的问题。例如,用枚举法解决一些数学问题(“鸡兔同笼”“韩信点兵”等)、益智游戏和逻辑推理等。
habitant morbi tristique
(4)保存文件,调试运行程序
谢谢!
lorem ipsum dolor sit amet consectetuer adipiscing elit maecenas porttitor congue massa