4.1算法及其特征 课件(共19张PPT) 教科版(2019)必修1 数据与计算

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

4.1算法及其特征 课件(共19张PPT) 教科版(2019)必修1 数据与计算

资源简介

(共19张PPT)
第2单元 编程计算
第1单元 初识数据与计算
第3单元 认识数据
第4单元 计算与问题解决
第5单元 数据分析与人工智能
信息技术
(必修1)
4.1 算法及其特征
学习目标
★ 熟悉将解决问题的方法归结为一系列清晰、准确的步骤的过程。
★ 了解算法的基本要素和重要特征。
★ 运用恰当的方式描述算法。
★ 运用Python语言实现简单算法,解决问题。
※ 活动1 寻找“开关对应关系”
软件开发社团要招募新成员,报名的同学要经过面试才能加入。第一关面试题是:
“一个房间有3盏灯,房间外有3个开关分别控制这3盏灯,在只允许进房间一次的情况下, 如何判断哪个开关控制哪盏灯?”
任务一 探讨面试题的解决方案
1号开关
2号开关
3号开关
1.分析问题—灯的状态和特性
灯有亮、灭两种状态
开灯的同时会伴随发光发热,因此灯被触摸时还有冷、热两种状态
灯亮
灯灭
发热
不发热
第一步:打开1、2两个开关
第二步:过2分钟后关闭1号开关
第三步:进房间,亮着的灯是由2号开关控制
第四步:摸一下另外两盏不亮的灯,发热的灯泡是由1号开关控制
第五步:不亮又不热的灯是由3号开关控制
自然语言
流程图
关1号开关
灯亮?
灯热?
该灯由2号开关控制
该灯由1号开关控制
该灯由3号开关控制
解决问题的方法及步骤
算法
2.设计算法
算法的特征
有穷性
确切性
输出项
可行性
输入项
算法必须能在执行有限个步骤之后终止。
算法中的每一次运算都有明确的定义,具有无二义性,并且可以通过计算得到唯一的结果。
算法一定要有输出。任何算法都不能 “无功而返" 。
一个算法有0个或多个输入,以刻画运算对象的初始悄况,所谓0个输入是指算法本身给出了初始条件。
算法中执行的任何计算都可以在有限时间内完成(也称为有效性)。算法中的运算都必须是可以实现的。
有4个分别装了4种药丸的药瓶,里面每颗药丸都有单颗标准质量,其中有一个药瓶中的所有药丸都被污染了。
每颗被污染的药丸比正常药丸增重1克。请在只允许称量一次的情况下,判断出哪个药瓶中的药丸被污染了。
活动2 定量分析,寻找“被污染的药丸”
考虑1颗药丸的重量变化,如果药丸被污染,则增重_____克,否则增重________克。
改进算法
从某一个药瓶中取出n颗药丸,如果被污染,则增重_____克,否则增重________克。
如果我们从不同的药瓶中取出不同颗数的药丸,你能根据增重情况找出被污染的药丸吗?
第1个药瓶取1颗,第2个药瓶取2颗,第3个药瓶取3颗,笫4个药瓶取4颗,共10颗药丸。
如果增重______克,则_______号药瓶中的药丸被污染。
0
n
1
0
分析 现象(可多选) 算法的特征
哪些信息属于输入: 输入项: □0个输入 □1个输入 □多个输入
哪些信息属于输出: 输出项: □0个输出 □1个输出 □多个输出
执行的结果: 执行的结果:□确定的 □不确定的 □都可以
需要 步得到结果。 执行的步骤:□有限 □无限 □都可以
题耗时 。 执行的时间:□有限 □无限 □都可以
标准重量,称重后重量
多出的重量
找到被污染的药瓶
4
几秒





输入项
输出项
确切性
有穷性
可行性
设计算法
回顾算法的特点,思考一下,在这个问题中,哪些信息属于输入、哪些信息属于输出呢?
请设计程序并运行,使输入10颗药丸的总重量及4种药丸的单颗准质量就可以看到结果,找到被污染的药丸。
d=int(input('请输入每颗药丸的标准重量:'))
w=int(input('请输入药丸称得的重量:'))
x=
print('被污染的药瓶序号是:',x)
w-10*d
这次面试的冠军在A 、 B 、 C 、 D四位同学中。
A说:“不是我。” B说:“是C。” C说: “是D。” D说:“C说的不对。”
已知四人中有一人说了假话。
※ 活动 尝试枚举
不是我
是C
是D
C说的不对
A
B
C
D
任务二 求解“谁是冠军”
解析:逐一假设A、B、C、D是冠军,判断是否正确。
冠 军 A说:“不是我。” B说:“是C。” C说:“是D。” D说:“C说的不对。”
A
B
C
D
×
×
×
×
×
×
×
×








枚举
有一种算法是把所有可能的答案一一列举,合适就保留,不合适就丢弃。这种方法称作“枚举”或“穷举”。
枚举法解决问题的一般结构:循环+判断。
优势:易证明正确性
champion= ['A','B','C','D'] #设置选手列表
for i in champion: # 遍历champion列表
cond=(i! ='A')+_________+_________+__________
if cond==3:
print(“冠军是”,i)
设计算法
答案 冠军是: C
用程序求谁是冠军时,我们需要把每个人说的话转化成计算机能够执行的表达式。
如A说:“不是我。”可以表示为“i!='A'”,其中i为枚举的冠军选手编号。
(i=='C')
(i=='D')
(i! ='D')
1.下列Python程序无法执行,原因是它违反了算法的什么特征(  )
for i in range(5):
print(10/i)
A.有穷性 B.确定性 C.唯一性 D.可行性
2.下列关于算法特征的的描述,正确的是(  )
A.一个算法的每一个步骤必须有确切的含义
B.一个算法可以有多个输出,但是至少有一个输入
C.一个算法可以永无止境的进行下去
D.一个算法不一定必须可行,理论上想法对就可以执行
巩固提升
D
A
巩固提升
3.下列关于算法描述错误的是(  )
A.算法必须在有限步骤内实现
B.算法可以使用自然语言、伪代码、流程图等多种不同的方法来描述
C.算法是解决问题的方法和步骤
D.一个有效的算法至少要有一个输入
D
课堂小结
算法:解决问题的方法和步骤;
算法的描述:
算法的特征:
有穷性:算法步骤有限;
确切行:每一次运算的含义明确;
输入项:一个算法有0个或多个输入;
输出项:算法一定要有输出;
可行性:在有限时间内完成;
计算机解决问题的一般过程:
自然语言
流程图
伪代码
N-S框图
PAD图
程序代码
具体问题
分析问题
问题解决
设计算法
编写程序
调试运行
巩固提升

展开更多......

收起↑

资源预览