收藏 分享(赏)

高中信息技术--枚举算法.ppt

上传人:精品资料 文档编号:11341808 上传时间:2020-03-19 格式:PPT 页数:16 大小:135KB
下载 相关 举报
高中信息技术--枚举算法.ppt_第1页
第1页 / 共16页
高中信息技术--枚举算法.ppt_第2页
第2页 / 共16页
高中信息技术--枚举算法.ppt_第3页
第3页 / 共16页
高中信息技术--枚举算法.ppt_第4页
第4页 / 共16页
高中信息技术--枚举算法.ppt_第5页
第5页 / 共16页
点击查看更多>>
资源描述

1、枚举算法,例1:一天小明回家看见妈妈好像有什么心事,于是小明关心地询问妈妈,怎么回事?妈妈告诉小明,她不小心将单位的记录账目的单据碰到了污迹,现在很难认出,这个数字是:113702?,怎么办?小明想了一想后,问妈妈这数有什么特点?妈妈说:“这数是144的整数倍”,马上,小明就帮助妈妈解决了这个问题。,1137021,1137022,1137023,、 、 、,1137029,枚举法:象这种列举出问题的所有可能解,并在逐一列举 的过程中,检验每个可能解是否是问题的真正解,若是,我们 采纳这个解,否则抛弃它,这种解决问题的方法叫做枚举法。,注意:在列举的过程中不能遗漏,也不应重复。,枚举算法找到的

2、真正解不一定是唯一的。,第一步:列出所有可能的解,X=,1137020+i,返回,1137021,1137022,1137023,、 、 、,1137029,第二步:根据条件,检验出真正的解,开始,i=0,i=9,X=1137020+i,i=i+1,结束,T,F,X mod 144=0,输出X,请同学们把程序填写完整,问题的诊断,Private Sub Command1_Click() Dim i, x As Long List1.Clear i = 0 Do While i = 9x = 1137020 + i If x Mod 144 = 0 ThenList1.AddItem (Str(

3、x) 输出X的意思 else nothingLoop End Sub,End if,i=i+1,编程中存在的问题分支语句,实现分支结构的语句if 应该与end if成对出现,单分支语句中不存在else语句。 二是在书写的时候,要注意执行语句的缩进,这样使程序看起来十分清晰,以方便我们的调试。 If 条件 then 语句组1 else 语句组2 end if,编程中存在的问题循环语句,当循环语句中遗漏了loop(表示循环)的语句,以及在计数法控制循环中缺少了循环变量增量的语句,而造成了死循环。 Do while 条件循环体循环变量=循环变量+步长 loop,例2:如果模糊数字是249?16,它是

4、144的整数倍 。,2490016,2490116,2490216,2491116,2492116,、,2499916,开始,第二步:根据条件,检验出真正的解,i=_,i=,X=,i=i+1,结束,T,F,99,2490016+i*100,0,提高题(模糊数据二):模糊数字是465?7?6,它是144的整数倍 。,第一步:列出所有可能的解,千位数为0 , 十位数从09一一枚举:,千位数为1 , 十位数从09一一枚举:,千位数为9 , 十位数从09一一枚举:,、,开始,i=,=9,i=i+1,结束,T,F,注意:在列举出所有解的过程中, 既不能遗漏也不应重复。,十位数从09一一枚举,0,i,提高

5、题(模糊数据二):模糊数字是465?7?6,它是144的整数倍 。,第一步:列出所有可能的解,千位数为0 , 十位数从09过一遍:,千位数为1 , 十位数从09过一遍:,千位数为9 , 十位数从09过一遍:,、,开始,i=0,=9,j=9,j=0,X=,j=j+1,i=i+1,结束,T,F,T,F,4650706+1000*i+10*j,注意:在列举出所有解的过程中, 既不能遗漏也不应重复。,i,提高题(模糊数据二):模糊数字是465?7?6,它是144的整数倍 。,第二步:根据条件,找出真正的解,开始,i=0,i=9,j=9,j=0,X=,j=j+1,i=i+1,结束,T,F,T,F,465

6、0706+1000*i+10*j,千位数为0 , 十位数从09过一遍:,千位数为1 , 十位数从09过一遍:,千位数为9 , 十位数从09过一遍:,、,注意,在双重循环中,外循环每变化一次,内循环变量要取遍所有可能的值。,请同学们列举生活中可以使用枚举算法来解决的问题,课堂小结,1、什么是枚举法:,列举出问题的所有可能解,并在逐一列举的过程中, 检验每个可能解是否是问题的真正解,若是,我们采纳 这个解,否则抛弃它。,2、枚举法的特点:,在列举的过程中,,真正解不一定唯一,既不能遗漏也不应重复,,3、注意:,并不是所有的问题都可以使用枚举算法来寻找答案的,仅当问题的 所有可能解的个数不太多时,才有可能使用枚举法,才可能在有限的时 间内获得问题的解 。,当可能解的个数很多的时候,我们可以根据问题的性质不同,采用其他 比较好的搜索算法寻找答案,如递归算法,深度优先算法、广度优先算法、 动态归划等来解决问题。,在很多时候,实现枚举算法的结构是,循环结构嵌套分支结构.,作业,复习枚举算法,预习冒泡排序算法。,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 中等教育 > 高中教育

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报