第二节 穷举法
一、教材分析
1、本节主要内容介绍
穷举法是程序设计中使用得最为普遍、大家必须熟练掌握和正确运用的一种算法。它利用计算机运算速度快、精确度高的特点,对要解决问题的所有可能情况,一个不漏地进行检查,从中找出符合要求的答案。用穷举算法解决问题,通常可以从以下两个方面进行分析:
⑴确定范围:问题所涉及的情况有哪些,情况的种数可不可以确定。
⑵验证条件:分析出来的这些情况,需要满足什么条件,才成为问题的答案。
只要把这两个方面分析好了,问题自然会迎刃而解。
本节内容是上海科技教育出版社出版的普通高中信息技术(选修1)《算法与程序设计》教材第三章第2节的教学内容,包括有穷举法的基本思路,用穷举法求解问题,穷举法中穷举方案的选择等。21世纪教育网版权所有
二、重点难点分析
教学重点:用穷举法的基本规律
教学难点:利用穷举法解决实际问题,评价各种穷举策略的优劣。
三、教学过程
教学环节
教师活动
学生活动
教学理念
情境导入
1、播放《终结者2》影片片断,观看影片,积极思考,在看片的过程中体会穷举法的基本思路。
2、某个暑假你携带密码行李箱外出旅游,旅行途中发现自己忘记了开锁的密码,怎么办?
随着老师的引导,学生回答出暴力破解的方法——穷举法
激发学生学习兴趣
学生分组活动
要求学生分组活动,找出穷举法的定义和穷举法的特点
定义:它将求解对象一一列举出来,然后逐一加以分析、处理,并验证结果是否满足给定的条件,穷举完所有对象,问题将最终得以解决
特点:①求解对象应该是有限的,有明显的穷举范围;②可以按某种规则列举对象;③一时找不出解决问题的更好途径时可用穷法
总结出穷举法的概念、特点
提高学生的思维能力、培养学生良好的思维习惯
讲授新知
以教材P120“金鱼问题”为例
1.分析问题
2.建立数据模型
3.刚才我们讨论了穷举的方法,能否让利用计算机速度快这一特点来帮我们来进行穷举这一过程呢?(也就是计算机编程)
4.伪代码描述
5.教师巡视、指导
1.分析问题
2.建立数据模型
3.设计算法
4.尝试用伪代码描述算法
5.编写程序
6.上机调试
7.生成EXE文件,通过FTP上传至教师机
1.引领学生分析问题,使学生对穷举法有一个初步的认识。形成积极思考的学习氛围。
2.学生尝试用为代码描述算法,体验穷举法解决问题的同时,也为下一环节的上机实践做准备。
3.在上机实践的过程中进一步体会穷举法的应用。
解决问题
请同学们用穷法找出100内的所有素数(教材P123)
以小组为单位完成一个程序
设计算法
编写代码
上机调试
体验穷举法在解决问题中的应用,以及计算机高速运算的特点。
在课堂上,通过小组内的协作交流,培养学生的合作意识、团队精神。通过设计算法,上机调试等过程,体验穷举法的思想及计算机解题的方便、快捷。
交流评价
巡视、查看学生作业完成情况
有选择地让学生讲解
教师评价
上交作业
通过老师的讲解找出自己存在的问题
引导学生自我反思,加深对所学知识的认识与理解,掌握用穷举法解决实际问题。
归纳总结
布置作业
1、穷举法的基本思路:
依据题目的已知的条件,确定答案的大致范围,在此范围内进行穷举
2、利用穷举法求解的关键:
建立适当的数学模型;
构造穷举的框架(确定穷举范围,合理使用循环语句来实现算法);
?通过逐步求精的过程,改善算法,使穷举过程变得更恰当。
3.给学有余力的同学布置课后作业
知识总结,系统归纳。
?
回忆课堂学习过程,提高对穷举算法的认识。
通过知识总结,帮助学生将知识系统化、结构化,便于学生理解记忆。