高中信息技术人教版(2019)必修1 2.4常见算法的程序设计

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
常见算法的程序实现
INFORMATION
porttitor congue massa
TITLE 01 基于解析算法的问题解决
TITLE 02 基于枚举算法的问题解决
TITLE 03 算法与程序实现的综合应用
学习目标
理解解析算法和枚举算法,根据需要选用这两种 算法,编程实现简单问题求解。
认识问题解决中不同算法的效率,完成项目程序的 调试与运行。
△>0? 是
多分支循环
解决问题
=-c/b
b**2-4*a*c =(-b+math.sqrt(d))/(2*a) =(-b-math.sqrt(d))/(2*a)
解决问题
Python 的标准库是在安装软件时默认自带的。 标准库提供的组件数量非常庞大,涉及范围十分广泛。标准
库包括核心语言的数据类型、内置函数和功能模块。在使用 标准库前,需使用import 语句进行导入。 math 库、time 库、turtle 库和pickle 库都是标准库。 标准库是Python不可分割的一部分。
思考:
绿灯最短时长:=反应时间+过街时间
设置时长需要考虑的因素: 速度差异,反应时差… 建立模型:
t绿灯长=t过马路+t人反应 t过马路=s马路/v人步行 t绿灯长=s马路/v人步行 + t人反应
基于解析算法的问题解决
分析问题
设计算法
编程实现与调试
保存文件,调试 运行程序
自由落体运动
问题 : 从离地500 m的高处自由落下一个小球,求从开始落下的时刻起,小球在最后1s内 的位移(重力加速度g以 9 .8 m/s2计)。
探究:
上述程序用到math 库,如不使用库,以数学学 科的算法规则,本程序中的语句将如何改写? • x1=(-b+math.sqrt(d))/(2*a) #方程的根 • x2=(-b-math.sqrt(d))/(2*a) #方程的根
改写后并能在python语言中运行。
课堂总结:
已知 条件
二者 关系
求解 目标
解析式
编程 调试
解析算法是 通过找出解决问 题的前提条件与 结果之间关系的 表达式,并计算 表达式来实现问 题的求解。
输出的值为( )
A -3
B3
C1
D -1
X=float(input(“请输入x的值”)) If x>0:
Y=1 Else
if x=0 y=0
Else Y=-1
Print (y)
温故知新
题2、执行如图所示的程序框图,若输出的
k=5,,则输入的整数p的最大值为
A7
B 15
C 31
D 63
题3、图中的循环体语句用python语句如何
01
温故知 新
温故知新
1、条件分支选择语句
if 条件表达式: 语句块
if 条件表达式: 语句块1
else: 语句块2
if 条件表达式1: 语句块1
elif 条件表达式2: 语句块2
elif 条件表达式3: 语句块3
…… else:
语句块n
温故知新
2、循环语句1 while语句
While 条件 语句后面加冒号
深入讲解
用解析法编程来解决问题
1.分析问题、建立数学模型。 2.设计算法,确定范围 3.编写程序 4.调试程序
已知 问题
关键
求解
问题
解析关系 表达式
问题引入
编写程序, 输入一元二次方程ax2+bx+c=0(a!=0)的系
数,输出求解结果。
应用简单的数学知识来分析问题,寻找问题 各要素之间的关系,用计算机编程来快速解决。
(1)分析问题
已 知 条 件 : 小球离地高度500 m,重力加速度g为9.8 m/s2 ; 求 解 目 标 : 小球在下落最后1s内的位移: 已 知 与 未 知 的 关 系 : 可用自由落体运动位移与时间关系的公式h=½ gt2求解出下落时间t,以及最后1 s内小球的位移。
(2)设计算法
(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")
elit maecenas porttitor congue
(4)保存文件,编程调试运行程序
编程解决问题时,要善于综合 运用物理、数学、化学、等学 科的知识和方法来分析问题, 寻找问题中各要素之间的关系, 得出解决问题所需的表达式。
02
解决问题
绿灯时长的最优设置
行人步行速度约为4.4 km/h,观察到信号灯变化后的反应时间约为2s,要保证过街行人能走过长为20m的人行 横道,人们过街绿灯时长至少需要设置为多少?
2s+20m/4.4km/h
思考:1.写出求解绿灯最短时长的计算公式: 2.结合实际道路情况,思考在设置人行过街绿灯时长时需要考虑哪些因素,试着给出 绿灯时长的最优设置模型
描述?
温故知新
题4、下面给出的一个用循环语句编写的程序 K=1 Sum=0 While k<10: for siumin=rsaunmge+(k1*,*120):
k=k+1 Print ( sum )
完成任务: 指出程序所用的是何种循环语句,并指出该程序的算法 功能。 请用另一种循环语句的形式把该程序写出来。 (看看老师给出的答案对不对)。
分析交流
一元二次方程的根有三种不同情况:
设判别式△=b2-4ac
(1)当△>0时,一元二次方程有两个不等的实数根。
x1百度文库
x1
b
b
2a
22aa,,
x2 2xb2ab22aa
(2)当△=0时,一元二次方程有两个相等的实数根。
x1
x2
b 2a
(3)当△<0时,一元二次方程没有实数根。
△=b2-4ac 否
否 满足条件? 是
循环体
退出循环
温故知新
2、循环语句2 for 语句 for 变量 in 序列: 语句块(循环体)
for与range() 是天生的一对。
例:循环输出0到100的自然数。 for i in range(0,101): print (i)
温故知新
题1、左侧程序运行时,从键盘上输入-3,则
elit maecenas porttitor congue
核心概念
解析算法: 在分析具体问题的基础上,抽取出一个数学模型,这个
数学模型能用若干个解析表达式表示出来,解决了这些表达 式,问题也就得以解决。
要先读题,找出已知条件、求解问题,观察分析找出各 要素之间的关系,建立解析关系表达式。
解析就是深入分析、剖析的意思。
相关文档
最新文档