《用穷举法解决问题》教学设计
教师:查成林
一、 教学内容分析
本节课内容选自教科版《算法与程序设计》第三章第2节第1小节,主要 让学生了解穷举算法的特点,掌握用穷举法设计算法的基本要求,学会设计穷举算法解决问题,并用流程图或伪代码描述穷举算法,选择在教室进行教学。
二、 学情分析
在前面的教学中,学生已经学习了算法的特点,理解了顺序、选择、循环三种基本结构,并通过上机实践,对算法与程序设计有了初步的认识。
学生对《算法与程序设计》的兴趣和认识不一,有的将它作为数学辅助,有的视为异常枯燥之物,也不乏对其“倾心”者……因而,由于层次不一样,在学习时,可能会遇到以下问题:
①、学生理解不透彻,考虑不周到,以致无法得出正确的结果 ②、学生一味模仿例题为主,思维局限,知识无法迁移 ③、学生为学习算法而学算法,不联系生活实际
三、 教学目标 知识与技能:
了解穷举算法的关键,掌握穷举法解题的基本思路,学会使用流程图或伪代
码描述穷举算法,能认识到穷举算法的适用范围及其局限性。
过程与方法:
通过“水仙花数”、“百鸡百钱”等问题,归纳总结穷举法的基本特点及其解
决问题的基本思路,通过设计穷举算法模拟密码破解,尝试全面认识穷举算法,理解其适用范围及局限性。
情感态度与价值观:
通过解决具体问题,体验穷举法在生活中的广泛应用和重要价值,认同
穷举算法解决问题的局限性,培养学生严密的逻辑思维能力、自主探究能力。
1
四、 教学重难点:
教学重点:穷举算法的基本特点;设计穷举算法解决问题 教学难点:联系实际问题设计并规范描述穷举算法; 四、教学方法与策略
问题引入,体验归纳,联系实际,启发探究 五、教学过程设计: (一)情境引入(2分钟):
教师:一些同学提前几分钟赶到机房门口,门没有开,我给某位同学一串
钥匙,让他开门,钥匙有很多把,如果是你,你会怎么开门呢?
学生:回答如何开门,可能会说一把一把尝试等 教师:生活中类似的例子还有很多,请列举一二 (二)构建新知: 例题回顾(3分钟):
教师:在构建多重循环时,我们举过一个例子“水仙花数”,请同学
帮我们回顾一下我们是如何找出所有的水仙花数的。
学生:回想并回答
教师:引导学生分析解决水仙花数的过程,水仙花数的范围,我们列
举的规则,并给出流程图
学生:在教师的引导下分析解决水仙花数的过程,水仙花数的范围,
列举的规则,并复习流程图
新例分析(10分钟):
教师:提出百鸡百钱问题 学生:思考并设计算法
教师:引导学生分析穷举范围,穷举方法,提供不完整流程图,请学生
完成设计
学生:补充完整流程图
2
教师:请学生写出代码或直接给出程序演示,请学生小结穷举法解决问
题的一般过程及实现方法
师生共同总结:
如果确定用穷举算法来解决问题,一般来说选择的控制结构是
(循环结构),循环变量的范围选择要依照(不重复)、(不遗漏)的原则,根据循环变量列出可能的解,再根据条件对可能的解进行筛选,最后将符合条件的值输出。
(三)问题解决(22分钟):
教师:提出破解三位纯数字密码问题 学生:思考通过穷举法暴力破解密码
教师:引导学生根据穷举法的基本特点,设计破解算法,并画出流程图
或写出伪代码
学生:设计算法,并画出流程图或写出伪代码
教师:请学生写出代码或直接给出程序演示,提请学生注意破解时间,
演示结束,将问题难度加大,破解6位纯数字密码
学生:尝试更改算法
教师:演示破解6位纯数字密码的程序,并请学生注意破解时间,再次
加大难度,破解带小写字符和数字的6位数密码
学生:尝试再次更改算法,并思考如何解决时间问题
教师:引导学生认识穷举算法的适用范围及其局限性,并思考如何改进
算法提高其效率(适当提示,如“猜数字游戏”的实现等)
学生:总结穷举算法的适用范围及其局限性
(四)总结与延伸:(3分钟)
教师总结课堂,并布置作业及思考题:
1、编写程序演示密码破解
2、思考:如何提高穷举算法的效率及适用范围?
3