4.1 算法及其特征:枚举法课件-2025-2026学年教科版高中信息技术必修一

2026-05-26
| 20页
| 451人阅读
| 2人下载
普通

摘要:

该高中信息技术课件聚焦算法特征与枚举法,通过知识回顾(计算机解决问题过程、算法定义及描述方法)导入,先结合番茄炒蛋、求和实例解析算法五大特征,再过渡到枚举法,构建从理论到应用的学习支架。 其亮点是以生活实例(鸡兔同笼)和编程实践(Python代码解决水仙花数问题)为载体,培养计算思维(抽象建模、算法设计)与数字化学习能力。采用讲练结合、实例驱动的教学方法,总结步骤清晰,助学生理解抽象概念,教师可高效开展理论到实践教学。

内容正文:

4.1 算法及其特征+枚举法 知 识 回 顾 计算机解决问题的过程: 2 知 识 回 顾 1. 什么是算法? 算法就是解决问题的方法和步骤。 2. 描述算法的方法有哪些? 自然语言 流程图 伪代码 程序代码 3 知 识 回 顾 2. 描述算法的方法有哪些? 自然语言 流程图 伪代码 程序代码 “伪代码”不是真正的代码,无法运行。它介于自然语言(英语、中文)和编程语言之间,目的是让人能理解算法的逻辑。 input(x) if x能被2整除 then 输出x是偶数 else 输出x是奇数 4 一 算法的五大特征 P99 确切性 输出项 可行性 输入项 有穷性 算法必须能在执行有限个步骤之后终止。 算法中的每一次运算都有明确的定义,具有无二义性,并且可以通过计算得到唯一的结果。 算法一定要有输出,至少要有1个输出。任何算法都不能 “无功而返" 。 输入项。一个算法有0个或多个输入,以刻画运算对象的初始情况,所谓0个输入是指算法本身给出了初始条件。 算法中执行的任何计算都可以在有限时间内完成(也称为 有效性)。算法中的运算都必须是可以实现的。 5 一 算法的五大特征 P99 6 一 算法的五大特征 P99 求1+2+3+4+5的和 算法在有限步骤内一定会结束,循环只会执行 5 次,不会无限运行。 每一步操作都明确、无歧义:sum=sum+i、i=i+1 每一步都是简单的加减和判断,能实际执行。 有明确的初始数据:n=5—>0个输入 如果是n=int(input(“请输入n:”))—>1个输入 算法执行结束后,一定会输出一个结果 sum,满足至少一个输出。 7 课 堂 练 习 1、算法必须在执行有限个步骤之后终止,这体现了算法的( ) A. 确定性 B. 有穷性 C. 可行性 D. 健壮性 解析: A 错误:确定性是指每一步操作含义明确,无二义性。 B 正确:有穷性指算法在有限步骤内必须结束,不能无限执行。 C 错误:可行性指每一步都能通过基本操作有效实现。 D 错误:健壮性不是算法五大基本特征,是程序设计中的性质。 B 8 课 堂 练 习 9 二 枚举法 P101 枚举法(穷举法):把所有可能情况一一列举,符合条件就保留,不符合条件就丢弃,直至找到所有符合条件的结果。(注意:不重复,不遗漏) 忘记密码逐个尝试 鸡兔同笼问题 猜数字游戏 查找罪犯指纹 .... 生活中的枚举: 1、枚举算法基本思想:一 一列举、逐一检验 3、枚举法解决问题的一般结构: 2、枚举使用要点:确定枚举范围和验证条件 循环+判断 10 二 枚举法 1.要枚举的可能的情况是有限的,否则计算机在有效的时间内是无法完成计算的(有穷性) 2.要枚举的可能情况必须是确定的(确定性) 3.要枚举的可能情况是能够转换成计算机可计算的(可行性) 枚举法优点是:思路相对简单,易于理解。只要时间足够,并且结果可能的情况是确定的、有限的,我们就能编写一个程序将所有结果都找到,它利用的是计算运行速度快,精确度高的特点。 枚举法的适用条件: 11 三 用枚举法解决鸡兔同笼问题 运用电子表格求解鸡兔同笼 枚举法思想 鸡兔同笼,上有三十五头,下有九十四足,问鸡兔各几只? 思路:这里使用枚举法(穷举法),其实就是一个个验证,假设鸡有1只、2只、3只、4只......34只;计算鸡和兔脚的总数量; 当满足条件:脚的总数等于94,当前鸡和兔的数量为答案。 12 三 用枚举法解决鸡兔同笼问题 编程解决:鸡兔同笼,上有三十五头,下有九十四足,问鸡兔各几只? 1、确定枚举范围: 头数为35 脚数为94 tu兔数量:1~34只 (因为至少有一只兔、一只鸡) 2、明确检验条件: 鸡和兔的总脚数之和等于94 legs=tu*4 + (35-tu)*2 (兔脚总数)(鸡脚总数) for tu in range(1,35): if legs==94: ①求当前兔子数量下鸡和兔的总脚数 ②判断脚数是否相等 如果相等,说明这时候穷举出来的鸡兔数是符合要求的 13 三 用枚举法解决鸡兔同笼问题 for tu in range(1,35): legs=tu*4 + (35-tu)*2 if legs==94: print(“兔有“,tu,“头”) print(“鸡有“,35-tu,“头”) 完整代码: 14 四 用枚举法解决问题 题目:例举出所有的两位偶数。 分析: 穷举范围:两位数范围是10-99。利用range(10,100)可生成10-99的数字序列。 判断条件:偶数满足除以2的余数为0,满足 if i%2==0此条件,则i为偶数。 (满足 if i%2==1 i为奇数) 15 四 用枚举法解决问题 输出三位数的水仙花数。水仙花数是指一个n位数(n>=3),它的每个位上的数字的n次幂之和等于它本身。例如:13+53+33=153。(1+125+27=153) 已知条件: 三位数的水仙 花数满足: X=a3+b3+c3 满足条件的所 有三位数 过程分析: 2.如何求解1个三位数X的各个数位: a b c a=X//100 b=X//10%10 c=X%10 百位 十位 个位 2.如何判断abc是否是水仙花数? a3+b3+c3 X ? 分析问题 153=15*10+3,余数永远只能是 0~9,刚好就是个位数字。 == 比如153//100=1 417//100=4 153%10=3 153 // 10 = 15 原来的三位数153 → 变成两位数 15 15 % 10 = 5对新的两位数取余 10,取出最后一位,就是原来的十位 5。 1.三位数的范围从100-999,range(100,1000) 16 编写代码 将程序补充完整,判断一个三位数是否是水仙花数 for x in range(100,①): a=x//100 #求百位上的数字 b=② #求十位上的数字 c=x%10 #求个位上的数字 if a**3+b**3+c**3==x: #**幂运算 print(③,"是水仙花数") 用枚举法解决问题 四 x//10%10 x 1000 17 四 用枚举法解决问题 第一个数100 第二个数101 第三个数102 …… 第900个数999 100不是水仙花数 101不是水仙花数 102不是水仙花数 …… 999不是水仙花数 列 举 验 证 枚 举 法: 鸡兔同笼问题 例举出所有的两位偶数 找出所有三位数的水仙花数 …… 优点:比较直观,易于理解 缺点:效率比较低 把所有可能的答案一一列举 18 四 总 结 19 枚举算法 分析问题,确定枚举对象和范围 一一列举,逐一检验 (不重复,不遗漏) 注意枚举法的使用限制条件(有穷性/确定性/可行性) 设计算法 将流程图补充完整 四 用枚举法解决问题 四 b=x//10%10 a**3+b**3+c**3==x 20 $

资源预览图

4.1 算法及其特征:枚举法课件-2025-2026学年教科版高中信息技术必修一
1
4.1 算法及其特征:枚举法课件-2025-2026学年教科版高中信息技术必修一
2
4.1 算法及其特征:枚举法课件-2025-2026学年教科版高中信息技术必修一
3
4.1 算法及其特征:枚举法课件-2025-2026学年教科版高中信息技术必修一
4
4.1 算法及其特征:枚举法课件-2025-2026学年教科版高中信息技术必修一
5
4.1 算法及其特征:枚举法课件-2025-2026学年教科版高中信息技术必修一
6
相关资源
示范课
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。