教科版(2019)高中信息技术4.1.1算法的实现、解析法和枚举法 课件(16PPT)

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

教科版(2019)高中信息技术4.1.1算法的实现、解析法和枚举法 课件(16PPT)

资源简介

(共16张PPT)
做出判断的分支
2.2
编制程序实现对垃圾类型的分类判断
功能简介
如果 输入“猪可以吃” 显示 “这是厨余垃圾(湿垃圾)”
如果 输入“猪吃了会死” 显示 “这是有害垃圾
如果 输入“猪不吃” 显示 “这是其他垃圾(干垃圾)”
如果 输入“卖了可以买猪” 显示 “这是可回收垃圾”
其他 显示 “输入错误,请重新输入”
算法设计
4.1.1算法的实现、解析法和枚举法
教科版信息技术 必修1 数据与计算
单分支流程图
本节课学习目标
1、熟悉将解决问题的方法归结为一系列清晰、准确的步骤的过程
2、了解算法的基本要素和重要特征
3、运用恰当的方式描述算法
4、运用解析法实现简单算法,解决问题
单分支流程图
一、趣题导入:让学生分析解决问题 测测大家的IQ
寻找开关对应关系:
一个房间有3盏灯,房间外有3个开关分别控制这3盏灯,在只允许进房间一次的情况下,如何判断哪个开关控制哪盏灯?
打开思路,开动脑筋,提示:
灯泡除了亮和灭两种状态外,还可以有什么状态?
单分支流程图
单分支流程图
单分支流程图
根据学生回答情况,有针对的分析问题:
灯具有亮和灭两种状态,同时灯具有一种特殊性,开灯会伴有发热现象,因此触摸灯泡会有冷和热两种状态。因此一盏灯具可能有4种不同的状态。如何使3盏灯处于不同的状态?
解决问题的方法和步骤:(百日冲刺书第23页)
(一)使用自然语言的方法描述
第一步:打开1号、2号两个开关
第二步:过2分钟后关闭1号开关
第三步:进房间,亮着的灯是由2号开关控制
第四步:摸一下另外两盏不亮的灯,发热的灯泡是由1号开关控制
第五步:不亮又不热的灯是由3号开关控制
单分支流程图
也称为程序框图,它是描述问题解决的一种图形化表示方法。与使用自然语言描述相比,用流程图描述形象、直观、更容易理解。
单分支流程图
单分支流程图
(二)使用流程图的方法描述
单分支流程图
二、算法:
(百日冲刺书第21页)
算法的定义 算法是解决问题的方法和步骤。
算法的描述方法 ①自然语言;②流程图;③伪代码。
算法的特征
1.有穷性。算法必须能在执行有限步骤之后终止。
2.确切性。算法中的每一次运算都有明确的定义,无二义性,计算结果唯一。
3.输入项。一个算法有0个或多个输入。
4.输出项。算法一定要有输出。任何算法不能“无功而返”。
5.可行性。算法在有限时间内完成,运算必须是可以实现的。
单分支流程图
三、使用解析法解决问题的思想方法
(百日冲刺书第42页)
能熟练运用现有的公式、定理等将应用的数字解析式转换为 Python语句,以实现问题的求解。
1.解析法:通过找出解决问题的前提条件与结果之间关系的表达式,再计算表达式来实现问题的求解。
2.在生活中,我们可以利用已经成熟的数量关系和公式、定理来解析各种问题,如利用开根公式求根、利用海伦公式求三角形面积等。
单分支流程图
典型例题:
1、以下为某同学求解π的近似值的程序代码(求解关系式为 ), 横线处应补充的语句为( )。
total, s, n, t = 0.0, 1, 1.0, 1.0
while(n<1000):
total+=t
n+=2
s=-s
_________
pp=total*4
print("π值是{:.20f}".format(pp))
A.t=s/n
B.t=s/(-n)
C.t=(-s)/n
D.t=t/n
单分支流程图
典型例题:
2.三角形面积公式 ,其中a、b为两条边的边长,这两条边的夹角为C(弧度制)。那么在 Python中,下列哪条语句是正确的 ( )
A.S=(a*b*sin(C))*0.5
B.S=(a*b*sinC)*0.5
C.S=(a*b*sin(C))**2
D.S=(a*b*sinC)/2
,
单分支流程图
四、使用枚举法解决问题的思想方法
(百日冲刺书第46页)
1、枚举法:称为穷举法,是利用计算机运算速度快、精确度高的特点,把所有可能的答案一一列举,合适就保留,不合适就丢弃。
2.枚举法解决问题的一般结构:循环+判断。
3.枚举法需要逐一验证所有的可能情况,运算量比较大,解决问题的效率不够高。因此,使用枚举法解决问题时,需要考虑优化算法,选择恰当的枚举对象,尽量分析出问题中的隐含条件,缩小枚举范围,以提高解决问题的效率。
单分支流程图
典型例题:(先用数学的方法分析解决问题,然后转换为计算机语言)
1. 我国古代的数学著作《孙子算经》中有这样一道算术题:“今有物不知其数,三三数
之剩二,五五数之剩三,七七数之剩二,问物几何 ”即一个数除以3余2,除以5余3,除以7 余 2。请补全下面的代码,使程序能够求出这个数。
i=0
while (i % 3!=2 or i % 5 !=3 or ① ):

print(i)
,
单分支流程图
典型例题:(先用数学的方法分析解决问题,然后转换为计算机语言)
2、请填空完善下面程序,实现功能输出所有水仙花数。
水仙花数是指一个三位数它的每一位上的数字的3次方之和等于它本身。例如:三位数153满足:1**3+5**3+3**3=1+125+27=153,则153是水仙花数。设变量b,s, g,分别用于存放个位、十位和百位上的数。
print("所有水仙花数:")
for x in range(100, ①):
b = x // ② # 百位
s = (x//10) % 10 # 十位
g = x % ③ # 个位
if x == (b**3+s**3+g**3):
print(x)
,

展开更多......

收起↑

资源预览