4.1算法及其特征第二课时-【新教材】2021-2022学年教科版(2019)高中信息技术必修一课件(20PPT)

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

4.1算法及其特征第二课时-【新教材】2021-2022学年教科版(2019)高中信息技术必修一课件(20PPT)

资源简介

(共20张PPT)
4.1算法及其特征
(第二课时)
回顾
01
算法具有哪些特征?
算法的常见表达方式有哪些?
【活动1】
任选一种方法表达一道IQ题的解决方法:“房间里有三盏灯,房间外有三个开关,在房外看不见房内的情况下,进门一次确定开关与灯的控制关系。”
流程图
算法的表达方式各有特点。
三种方式可以根据实际问题进行选择。只要恰当准确即可。
除了已经介绍的三种,其实表达方式还有很多,例如拓展知识中介绍的PAD表示方法,有兴趣的同学可以课后阅读P92。
描述方式 有点 不足
自然语言 比较贴近自然方式,表述方便 但容易有二义性
流程图 表示比较清晰 绘制起来比较麻烦
程序 功能强大 编写有一定难度
新知新授
02
【思考】
找出三位正整数中能被3整除的整数。
三位数:000-999?
整除:?除以3余数为0
一、枚举法(穷举法)
把所有可能性列举出来,和给出的条件进行判断,符合的保留。这种解决问题方式——叫枚举法或穷举法。
一、枚举法特征:
1、确定穷举范围
问题所涉及的情况有哪些,情况的种数可不可以确定。
2、确定验证条件
分析出来的这些情况,需要满足什么条件,才成为问题的答案。
经常使用循环+判断的格式
循环结构语句
for 变量 in 列表:和while 判断条件:
课本【任务二】:
听说这次面试的冠军就在叶达班的A、B、C、D四位同学中。消息很快传到了班上,当A、B、C、D四人回到班上,叶达迫不及待地问他们中谁得了冠军。四人相对一笑,A说:“不是我。”B说:“是C。”C说:“是D。”D说:“C说的不对。”原来他们想让叶达猜出答案,而且有一人说了假话。叶达很快就知道了答案,大家都想知道他的方法。你能判断到底谁是冠军吗?
【任务二】谁是冠军
逐一假设A、B、C、D是冠军,判断是否正确。
冠军 A说:“不是我。” B说:“是C。” C说:“是D。” D说:“C说的不对。”
A × × × √
B √ × × √
C √ √ × √
D √ × √ ×
【任务二】谁是冠军
提示:我们需要把每个人说的话转化成计算机能够执行的表达式。如A说:“不是我。”可以表示为“i!='A'”,其中i为枚举的冠军选手编号。
请写出表达式。
A说:“不是我。” 表达式: i!='A'
B说:“是C。” 表达式: 。
C说:“是D。” 表达式: 。
D说:“C说的不对。”表达式: 。
i=='C'
i=='D'
i!='D'
【任务二】谁是冠军
解读下面的程序,尤其理解标注横线的语句含义,并尝试用画程绘制出流程图。
champion=['A','B','C','D'] #设置选手列表
for i in champion: #______________________________
cond=(i!='A')+(i=='C') + (i=='D')+(i!='D') #___________________
if cond==3:
print("冠军是:",i)
【任务二】谁是冠军
实践与巩固
03
利用编程解决问题
1.找出三位正整数中能被3整除的整数?
for i in range(100,1000):
if i%3==0:
print(i)
i=100
while i<=999:
if i%3==0:
print(i)
i=i+1
利用编程解决问题
1.□3×6528=3□×8256,
在两个□内填入相同的数字使得等式成立。求这个数。
for i in range(10):
if ((i*10+3)*6528)==((30+i)*8256):
print("结果是:",i)
总结:
一、枚举法:在一堆数据中查找某个数
1、确定穷举范围
问题所涉及的情况有哪些,情况的种数可不可以确定。
2、确定验证条件
分析出来的这些情况,需要满足什么条件,才成为问题的答案。
经常使用循环+判断的格式
课后作业:
师问:上节课【活动3】学校历届校友的海量数据存储在校网络中心服务器中(共10000条,无重复数据),某管理员因为误操作删除了一位校友的ID号(8位整数)信息,恰好在备份数据库中保存了一份所有人员ID号的文件(无重复数据,无序)。是否可以用枚举法实现?尝试绘制流程图。
谢谢聆听!
Thank you!

展开更多......

收起↑

资源预览