4.1算法及其特征——枚举法的应用 课件 2022—2023学年教科版(2019)高中信息技术必修1(共20张PPT)

文档属性

名称 4.1算法及其特征——枚举法的应用 课件 2022—2023学年教科版(2019)高中信息技术必修1(共20张PPT)
格式 pptx
文件大小 9.0MB
资源类型 教案
版本资源 教科版(2019)
科目 信息技术(信息科技)
更新时间 2022-12-20 20:46:29

图片预览

文档简介

(共20张PPT)
枚举法的应用
揭密:核酸检测后的事儿
教材:教科版高中信息技术必修一
章节:4.1算法及其特征(第2课时)
由于症状和流感十分相似,不做核酸检测很难判断自己是否确诊为“阳性”。ABCD四个人中有一个确诊了,他们四人中有一个人说了假话,同学们能够判断出谁是阳性患者吗?
A说 :“不是我。”
B说 :“C的家人核酸结果为阳性,C是阳性。”
C说 :“D一直发高烧,因此D是阳性。”
D说 :“C在陷害我,我不是阳性。”
活动1.1
请同学们3人为一组,谈论该问题的答案。
项目任务一:寻找“阳性”患者
阳性 A说:“不是我” B说:“C的家人核酸结果为阳性,C是阳性” C说:“D一直发高烧,D是阳性” D说:“C在陷害我,我不是阳性” 真话
人数
A
B
C
D
找到的“阳性”: 。
假 假 假 真 1
真 假 假 真 2
真 真 假 真 3
真 假 真 假 2
C
项目任务一:寻找“阳性”患者
项目任务一:寻找“阳性”患者
所有可能“阳性”的人员
查找范围
假设1个人为患者
查找对象
4句话中有3句真话
确定“阳性”的条件
查找结果
“阳性”患者
逐一列举
逐个验证
认识枚举算法
把所有可能的答案一一列举,合适就保留,不合适就丢弃。
又称“穷举法”。
基本思想
枚举法
确定列举的范围和对象
所有可能的患者、每个人
查找结果
“阳性”患者
逐一列举
逐个验证
确定“阳性”的条件
4句话中有3句真话
项目任务一:流程图的完善
True
False
“阳性”患者
结束
所有可能的人都假设过了吗?
False
True
开始
True
活动1.2
将下列选项填在流程图合适的空缺位置。
A. 下一个人
B. 设置人员列表
C. 4句话中有3句真话?
B. 设置人员列表
A. 下一个人
C. 4句话中有3句真话?
思考以下问题:
(1)哪里是逐一列举的过程呢?用到了哪种结构呢?
(2)哪里是逐个验证的过程呢?用到了哪种结构呢?
逐一列举
循环结构
逐个验证
选择结构
项目任务一:编程实现枚举算法
True
False
“阳性”患者
结束
所有可能的人都假设过了吗?
False
True
开始
True
设置人员列表
下一个人
4句话中有3句真话?
True
False
“阳性”患者
结束
所有可能的人都假设过了吗?
False
True
开始
True
设置人员列表
下一个人
4句话中有3句真话?
问题:
计算机如何判断4句话中每个人说的话是否是真话,并且有3句是真话呢?

A说:“不是我”
i != ‘A’
如果A说的是真话,则这个表达式的值则为1。
如果4句话中有3句话为真话,则4个表达式和的值则为3。
B说:“C的家人核酸结果为阳性,C是阳性”
C说:“D一直发高烧,因此D是阳性”
D说: “C在陷害我,我不是阳性”
项目任务一:编程实现枚举算法
True
False
“阳性”患者
结束
所有可能的人都假设过了吗?
False
True
开始
True
设置人员列表
下一个人
4句话中有3句真话?
活动1.3
打开桌面程序“寻找’阳性’患者.py”,补充完整并调试运行程序。
项目任务一:编程实现枚举算法
人工枚举 计算机枚举
速度 √
准确性 √
处理大数据 √
人工枚举VS计算机枚举
项目任务二:大数据工程师的账号安全
阳性的患者会被赋予红码,大数据工程师需要配合公安进行密接、次密接等人员的流调,他们使用门铃码数据库,必须输入账号和密码。
为了增强数据安全防护,密码设置需要包括字母、数字、以及特殊字符(@#*_),并且只包含这3类字符,如何判断密码设置是正确的呢?
项目任务二:分析与算法设计
活动2.1
数一数:这3组密码中分别包括几个字母、数字、特殊字符(@#*_),以及非法字符?
3个数字、3个字母、1个特殊字符、0个非法字符 √
3个数字、3个字母、0个特殊字符、0个非法字符×
3个数字、3个字母、0个特殊字符、1个非法字符×
算法思路:枚举法
1. 逐一列举密码字符串中的每个字符
循环结构
2. 逐个验证每个字符是否符合要求:
选择结构
既要验证字符是否为合法字符(字母、数字、特殊字符),又要验证字符是否为非法字符。分别统计字母、数字、特殊字符,以及非法字符的个数。
3.如果具有3种符合要求的字符并且不含有非法字符,则设置成功
项目任务二:编程实现枚举算法
活动2.2
打开桌面程序“大数据工程师的账号密码.py”,补充完整并调试运行程序。
算法思路:枚举法
项目任务二:编程实现枚举算法
1. 逐一列举密码字符串中的每个字符
2. 逐个验证每个字符是否符合要求:
验证每个字符是否为合法字符(字母、数字、特殊字符)
验证每个字符是否为非法字符
分别统计出字母、数字、特殊字符、非法字符的个数
3. 具有符合要求的字符并且不含有非法字符
则设置成功
思维导图总结项目内容
计算机编程实现枚举法的基本思想
项目
揭密:核酸检测后的事儿?
任务一:寻找“阳性”患者?
1.认识枚举算法
2.学习计算机枚举的流程
输入>逐一列举>逐个验证>输出结果
任务二:大数据工程师的账号安全
运用枚举法编程来解决实际问题
逐一列举
逐个验证
循环结构
选择结构
查找结果
数据
发现生活中的枚举
拓展延伸
选择自己感兴趣的问题
尝试用枚举法编程解题
1、找出三位正整数中能被7整除的整数
2、已知3 +4 =100,求 和 的正整数解
3、公鸡1只5元,母鸡1只3元,小鸡3只1元,求用100元买100只鸡,公鸡、母鸡、小鸡分别有多少只?
学生作品展示
流程图
编程语言
自然语言
尝试用自然语言、流程图或编程为其设计算法
寻找生活中:枚举法的应用
下 课