4.2用穷举法设计程序
(一)本课时教学内容的功能和地位
本节课是广东版教材高中信息技术选修1《算法与程序设计》第四章第2节的教学内容,介绍用穷举法解决问题。在人类解决问题时,穷举是一个很常用的思想方法。一个严密的穷举方案可以训练思维的严密和条理性,在应用计算机求解问题时,穷举算法也是一个常用的有效方法。
通过本节课内容的学习,学生对设计算法问题有了进一步的认识,对设计算法的步骤更加熟练,思考问题更加严密,程序编制和调试更有经验。本节的学习对算法知识的积累,对继续学习的激发有更加强烈的作用。
(二)学生情况分析
关于穷举的概率,在以前的教学中有过渗透,如在讲到求两个数的最大公约数算法的优劣时,就用到辗转相除法和穷举算法来设计,这些都为本节课的学习提供了良好的基础。(学生对本节内容的学习具备一定的基础知识和学习经验)
本节课有关知识、问题与数学学科联系紧密,学生具有相关的数学基础,因此理解起来相对容易。
(三)教学准备
1、教学策略:案例引入→剖析案例→穷举法介绍→操作实践→拓展提高→课堂练习。
2、教学方法:讲授、演示、任务驱动,学生在教师的指导下自主学习,展开合作探究活动。
3、课时安排:1课时。
4、教学环境:教室(带多媒体)
教学目标
(一)知识与技能
1、穷举法是计算机求解问题的基本算法。
2、穷举法也是人们常用的解决问题的方法,计算机的出现大大提升了这种方法的意义。
3、掌握用穷举法设计程序的基本思路。
(二)过程与方法
1、通过调试不同的举例程序,掌握穷举法的穷举技巧(变量安排,穷举方案的确定)。
2、通过各案列问题的解决,掌握利用穷举法来编写程序。
(三)情感态度与价值观
1、通过问题解决,积累穷举程序设计的经验,提升自己设计程序求解问题的能力。
2、对于多种解决问题的方案,学会评价它们的好坏。
教学重点和难点分析
(一)教学重点:建立正确的数学模型,确定穷举方案;根据命题确定自变量的取值范围。
(二)教学难点:如何确定穷举方案并评价各种穷举方案的优劣。
教学过程
教学环节
教师活动
学生活动
设计意图
案列引入
1、WiFi密码这样设置,最容易被大家破解
我们的网络除了一些企业,我们家里自用的wifi,由于大家的安全意识欠缺,密码设置的依然是简单粗暴。这样的密码很容易被隔壁老王猜中或者被黑客破解!甚至遭到攻击!
2、暴力穷举
密码破解技术中最基本的就是暴力破解,也叫密码穷举。如果黑客事先知道了账户号码,如邮件帐号、QQ用户帐号、网上银行账号等,而用户的密码又设置的十分简单,比如用简单的数字组合,黑客使用暴力破解工具很快就可以破解出密码来。
举例自己家里无线网的情况,有时也会出现卡顿或掉线,思考会不会是密码被破解了。
WIFI是现在娱乐生活工作离不开的工具,引起学生共鸣,提高学生对本节内容的学习兴趣并引起思考。
案列剖析
1、密码破解小程序演示
运行密码破解小程序,尝试手动破解密码、自动破解两位密码和自动破解三位密码
这种功能小程序的应用,极大提高同学学习兴趣和积极性。
2、思考破解的原理
引出穷举的概念
思考为何能够破解,它的原理是什么?
体会穷举的执行过程
3、小程序核心代码理解
①For循环语句回顾:
For 循环变量=初值 to 终值 Step 步长
循环体
Next 循环变量
②2位和3密码破解代码分析
带同学一起分析2位密码破解程序
3位密码破解程序填空,请同学思考并回答
4、思考提高密码安全性
①增加密码长度
②增加密码复杂性
回顾for循环语句的执行过程,理解2位密码程序
结合2位密码破解程序,思考这段程序的代码填空
思考如何让密码不容易破解
考虑学生层次,这里有必要带同学再回顾一下for语句的执行过程,以便于小程序核心代码的理解
通过思考,理解穷举范围的选取和穷举结束条件的设置
提高密码安全设置的意识和能力
穷举法案例实战及提高
1、现有面值为1元、2元和5元的钞票(假设各钞票的数量足够多),从这些钞票中取出30张使总面值为100元,问有多少种取法?输出每种取法中各种面额钞票的张数。
分析问题,建立数学模型,设计算法,编写程序
程序设计过程,注意合理优化穷举次数和穷举范围,提高程序运行效率
实战
本环节采用学生自评、互评、教师点评等多元化评价方式。
1.根据问题,思考给出答案。
2.听取教师点评,取长补短。
给学生展示自我的机会,引导学生回答问题,取长补短,共同进步。通过评价,引导学生自我反思,加深对所学知识的认识与理解。
课堂小结
师生回顾本节所学知识:
1、穷举算计的核心思想。
2、穷举算法的优化
3、利用穷举算法解决实际问题,给出结果
让学生思考反馈本节课所学的知识。
帮助学生形成系统的知识体系。