- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
《穷举法解决问题》教学设计.doc
《穷举法解决问题》教学设计
江苏省阜宁中学 钱如萍
一、教学目标分析
1.知识技能分析
a.认识穷举法在日常生活中问题解决的应用,并认识到利用计算机用穷举法解决问题的高效。
b.掌握穷举法设计程序的基本思想,并了解穷举法的适用范围及变量定义范围。
c.利用穷举法思想编程设计程序,解决问题,并能对它评论。
2.过程与方法
利用“百钱百鸡”问题的解决过程引导穷举法解决问题的方法与过程,并由此类问题(韩信点兵、水仙花数)引导学生对这一类问题抽象出具体的数学模型,运用穷举法能独立的实现程序。
3.情感态度与价值观
能对生活中穷举类问题利用计算机的高效处理能力形成主动运用编程思想解决,并能动手编写程序,实现问题有解决。
二、教学内容分析
教材选自教科版《算法与程序设计》选修第三章第二节的内容,本章内容是在前面两章对于编程的基本结构的基础上,对于实际生活中有代表性的某一类问题的具体算法的介绍,在本章第一节介绍了解析法之后,对于实际生活中列举类问题运用解析法不是太合适,所以引入第二种代表性的算法穷举法的介绍。
三、学生分析
高二学生对世界的认识正处于由感性到理性,由具体到抽象的认识,学生应掌握VB编程的基本知识(数据类型、基本结构、输入输出语句),并理解掌握解析法解决问题。学生对于列举类的问题用解析法来实现学生感到困惑,利用穷举法,因此对此类问题的归纳求解,学生应该掌握。
四、教学重难点
教学重点穷举法设计程序的基本思路,掌握利用穷举法编程解决问题。
教学难点,哪一类问题适合穷举法,穷举的范围以及评价穷举效率的高低。
五、教学方法
归纳推理,任务驱动法
六、教学过程
1 复习:二元一次方程的编程实现(见程序) 教师观察学生对解析法的掌握情况 2 创设情景,提出:“百钱百鸡”问题让学生思考答案。
请思考这道题目能否只用解析法就能解决?为什么会有不同有解?这些解对不对?是怎么得出这些解的? 学生会回答出不同的解
如公鸡是0,母鸡是25只,小鸡是75只
公鸡是4只,母鸡是18只,小鸡是78只
先将公鸡数目设为0,列出母鸡与小鸡的方程求解
再将公鸡数目设为1, 列出母鸡与小鸡的方程求解
再将公鸡数目设为2, 列出母鸡与小鸡的方程求解
再将公鸡数目设为3,列出母鸡与小鸡的方程求解
…………………………………… 3 归纳导入“穷举法”概念:像上面求解“百钱百鸡”问题时,列出所有可能的情况,逐个判断有哪些是符合问题所要求的条件,从而得到问题的解答,就叫穷举法,也叫枚举法
穷举法的实现:请思考在计算机中是怎样求解“百钱百鸡”问题的?
1、问题求解时可能的搜索范围(所有鸡的数目是在0-100之间),利用嵌套循环结构实现
2、问题求解满足的条件:所有鸡的数目之和是100
所花钱数是100
4 提出任务:让学生自己动手实践,编程实现“百钱百鸡”问题的求解 教师巡视,个别辅导,观察学生的编程情况 5 穷举法的优化:将两组程序代码演示给学生,(详细代码请见附录:代码一、二,)
缩短了搜索范围,减少程序运行时间,优化程序
(特别提醒:程序的优化不是编写的代码的长短来衡量) 让学生作比较,比较颜色不同的部分请思考为什么?
6 总结经验,拓展学习:请学生求解韩信点兵问题(假设士兵的数目在100到1000之间)
(详细请见附录:代码三)
请同学思考:能否优化该程序的设计?(见代码四)分析问题:三三之数余二,五五之数余三,七七之数余二,因为三七都是余二,所以该数肯定为二十一余二和除五余三。
学生可能在100-1000之间每个数进行列举
反 思:
穷举法在日常生活中有很多应用实例,如果单靠人脑,花费时间比较烦琐,因此应学会利用计算机编程实现。本节内容教材采用的是分组比赛,但程序比较复杂,大部分学生接受可能存在一定的困难,所以采用的是在编程中比较经典的问题。在教学过程中,特别在确定穷举范围时,要联系前面的知识,另外,穷举法的的优化是本节的重点,要让学生在掌握穷举法的基础上,会对程序进行优化。
(注:所有原程序放在vb文件夹内)
附录:
代码一:
Private Sub Command1_Click()
Dim a, b, c As Integer
Print 公鸡, 母鸡, 小鸡
For a = 0 To 100
For b = 0 To 100
c = 100 - a - b
If a * 5 + b * 3 + c / 3 = 100 Then
Print a, b, c
End If
Next b
Next a
End Sub
代码二:
Private Sub Command1_Click()
Dim a, b, c As Integer
Print
文档评论(0)