初中信息技术-《用枚举算法寻找问题多解》教学课件设计_第1页
初中信息技术-《用枚举算法寻找问题多解》教学课件设计_第2页
初中信息技术-《用枚举算法寻找问题多解》教学课件设计_第3页
初中信息技术-《用枚举算法寻找问题多解》教学课件设计_第4页
初中信息技术-《用枚举算法寻找问题多解》教学课件设计_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、用法: for 变量 in 范围 :例如:for i in range(1,100): 复习:1、for in循环结构2、if 选择结构用法: if 条件1 or(and) 条件2:例如:if 7 in str(i) or i%7=0:用法: for 变量 in 范围 :例如:for i用枚举算法寻找问题多解信息技术用枚举算法寻找问题多解信息技术学习目标:1、掌握什么是枚举法;2、掌握用枚举算法设计程序的基本思路;3、学会使用枚举算法分析、解决拍“7”小游戏问题和百钱买百鸡问题。学习目标:1、掌握什么是枚举法;小游戏:“拍7”小游戏游戏规则:把从1开始的自然数中含“7”的数称作“明7”;把不含

2、“7”且是“7”的倍数的数称作“暗7”。从1开始轮流报数,轮到报“明7”或“暗7”的人,不能出声,只拍一下手。激趣导入,感受新知小游戏:“拍7”小游戏游戏规则:把从1开始的自然数中含“7”什么是枚举算法 把问题所有可能的解都一一列举出来,并按照问题要求的条件逐个判断每个答案是否是正确的解,做到不遗漏不重复,这就是枚举算法。例如:搜索公交车路线、挑烂苹果、自行车轮胎修理什么是枚举算法 把问题所有可能的解都一一列举出来任务一:打开“明7.py” 程序,修改程序并测试,找到1-100内的明7(参考微视频)#!/usr/bin/python3n=100for i in range(_) if _ pr

3、int(找到的明7数有:,i)任务驱动,探索新知任务一:打开“明7.py” 程序,修改程序并测试,找到1-1任务一:打开“暗7.py” 程序,修改程序并测试,找到1-100内的暗7(参考微视频)#!/usr/bin/python3n=100for i in range(_): if _ and _: print(找到的暗7数有:,i)任务驱动,探索新知任务一:打开“暗7.py” 程序,修改程序并测试,找到1-1枚举算法的解题思路1、确定枚举对象、枚举范围和判定条件,枚举对象是解决问题所需要逐一列举的研究对象,枚举范围是枚举对象所有可能情况所构成的集合,判定条件用于检验确定真正的解。2、逐一枚举

4、可能的解,并验证每个解是否是问题的解。枚举算法的解题思路1、确定枚举对象、枚举范围和判定条件,枚举“拍7” 小游戏代码:枚举范围:100以内#!/usr/bin/python3n=100for i in range(1,n+1): if 7 in str(i) or i%7=0: print(i)枚举对象:i枚举条件:含有7或者能被 7整除 “拍7” 小游戏代码:枚举范围:100以内#!/usr/bi任务二:百钱买百鸡问题公鸡每只5钱,母鸡每只3钱、小鸡3只1钱,用100钱买100只鸡,问:公鸡、母鸡、小鸡各多少只?枚举范围? 1100或3100枚举对象? x,y,z枚举条件? 5*x+3*y

5、+z/3=100 x+y+z=100拓展延伸,巩固新知任务二:百钱买百鸡问题公鸡每只5钱,母鸡每只3钱、小鸡3只1任务二:打开“百钱买百鸡.py”程序,修改代码,并测试。(小组合作)#!/usr/bin/python3for x in range(_): for y in range(_): for z in range(_): if _: print(公鸡、母鸡、小鸡的数量分别是:,x,y,z)任务二:打开“百钱买百鸡.py”程序,修改代码,并测试。(小#!/usr/bin/python3for x in range(_): for y in range(_): _ if _: print(

6、x,y,z)“百钱买百鸡改进.py”程序改进代码:枚举范围?枚举对象?枚举条件?枚举对象可以减少循环嵌套的层数,枚举范围可以减少循环次数。#!/usr/bin/python3“百钱买百鸡改进.py”有趣的数学问题:水仙花数问题:153=13+53+33回文数问题:12321鸡兔同笼问题密码箱问题:1?8或?18有趣的数学问题:水仙花数问题:153=13+53+33回文数枚举法完成实现最简单,用于解决答案是多解的情况。枚举算法的优劣:优势:劣势:枚举算法要满足一定的条件,而且速度可能很慢,效率低,还有一些问题解决不了。枚举法完成实现最简单,用于解决答案是多解的情况。枚举算法的优跳绳:甲同学每天跳绳的次数(用a表示)a1=100 第一天a2=a1+5 第二天a3=a2+5 第三天乙同学每天跳绳的次数(用b表示)b1=100 第一天b2=b1 第二天b3=b2+10 第三天跳绳:甲同学每天跳绳的次数(用a表示)a1=100 这节课你的收获总结归纳,梳理新知这

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论