用穷举法解决问题课件5.pptVIP

  • 61
  • 0
  • 约1.49千字
  • 约 10页
  • 2018-07-22 发布于江苏
  • 举报
用穷举法解决问题课件5

3.2 用穷举法解决问题 算法与程序设计 5 4 3 2 1 名次 获得红星个数 名字 组别 座位邻近的前后8位同学为一组,并为自己的组取个名字。 怎样找出所有开这把锁的钥匙?有没有同学愿意上来找找看。 在找钥匙的过程中,你运用的是什么算法? 请大家阅读课本P45最后两段,用自己的话说说什么是穷举法? 什么是穷举法? 穷举法的两个关键点: ⑴确定范围:列举该问题所有可能的解 也叫枚举法、列举法   ——将求解对象一一列举出来,然后逐一加以分析、处理,并验证结果是否 满足给定的条件,穷举完所有对象,问题将最终得以解决。 ⑵验证条件:检验每个可能解是不是问题的真正解 小兔采蘑菇,晴天每天可以采10朵,雨天每天可以采5朵,30天一共采了240 朵,问有多少个晴天,多少个雨天? ? (条件二) 问 题 分 析 确定范围: 0 X(晴天) 30 ? 确定条件: X + Y = 30 (条件一) 用穷举法解决问题: 参考代码: Private Sub Command1_Click() Dim x ,y As Integer For x = 1 To 30 If ( ) And ( ) Then Print 晴天; x; 天 Print 雨天; y; 天 End If Next y Next x End Sub 1. 2. 3. 定义变量范围 确定变量条件 答案: 1. For y = 1 To 30 2. x + y = 30 3. 10 * x + 5 * y = 240 问题:“鸡兔同笼”问题。鸡和兔在一个笼里,共有腿100条,头40个, 问鸡有几只?兔有几只? 同学们看看上面这段程序有问题吗,如果有,应该如何修改呢? 某些同学的程序: For ji = 1 To 100 For tu = 1 To 100 leg = 2 * ji + tu * 4 head =ji+tu    If leg = 100 And head = Then Print ji, tu End If Next tu Next ji 穷举法的巩固加深: 没有必要取这么大 实践作业: 完成课本P49实践1:用穷举法编写程序,找出所有的“水仙花数”。 总结本节课主要内容: (1)了解了穷举法的概念 (2)了解了用穷举法设计算法的过程 (3)能够根据具体的问题的要求,使用穷举法算法编写程序求解问题 Thanks

文档评论(0)

1亿VIP精品文档

相关文档