视频标签:枚举算法,程序实现
所属栏目:信息技术优质课视频
视频课题:高中信息技术浙教版选修1算法与程序设计-《枚举算法的程序实现》
教学设计、课堂实录及教案:高中信息技术浙教版选修1算法与程序设计-《枚举算法的程序实现》
《枚举算法的程序实现》教学设计
【设计理念】
算法课一般与枯燥,晦涩,难懂等字眼联系在一起,往往难以激发学生兴趣。如何打破这种局面?如何激发学生兴趣,使学生情不自禁的,自主地去学习算法呢?
本课设计打破教材编写顺序,将本教材中的第二章的算法与第五章的程序实现结合起来组织教学,通过理论结合实践,让学生更容易理解各种算法的设计思想,体验编写程序的成功感受,同时又能掌握枚举思想。“枚举算法”也称“穷举算法”,这样一解释,学生更易理解其算法的思想:一一列出所有可能的解,并逐一检验。那么如何把枚举思想体现在算法中,用程序语言实现呢?。我在教学过程中对整堂课的设计上的思路是:通过具体情境引入主题——认知主题——体验主题——拓展主题——实现主题这几个阶段层层深入的递进式方法使学生充分掌握枚举算法,以达到最终的教学目标。 【教材分析】
算法是解题方法的精确描述。根据《高中信息技术课程标准》对本模块提出的要求,本课“枚举算法”的学习目标是使学生在已经掌握三种基本程序结构的基础上,进一步掌握枚举算法设计思想。枚举算法注重学生逻辑思维能力的训练,同时它也充分体现了用计算机解决实际问题的方法和步骤,是学生必须熟练掌握的一种算法。
“枚举算法”也称“穷举算法”,是利用计算机运算速度快、精确度高的特点,对要解决问题的所有可能情况,一个不漏地进行检查,从中找出符合要求的答案。用枚举算法解决问题,通常可以从确定范围,逐一列举、逐一验证这两个方面进行分析,把这两个方面分析好了,问题自然会迎刃而解。 【学情分析】
1、本节内容的教学对象是普通高中高一学生。在前面的教学中,学生已经理解了算法的概念,学习了算法的三种表示方式,并且重点学过了流程图,会辨认每个图框及其表示意思,初步学会设计流程图。
2
2、理解了顺序、选择、循环三种基本结构,对程序有了初步的认识。所以学生对于三种基本结构已经有了一定的知识基础,也能阅读一些简单的程序代码。在本课中学生会觉得设计思想比较容易掌握,如何将枚举思想转变成具体的算法,枚举算法又如何转变成具体的VB程序呢?让学生一个一个编码显然是不现实的,一堂课时间来不及,本节课运用程序代码填空的方法来巩固课堂知识。 【教学目标】
1、知识与技能
学生通过亲身体验来加深理解枚举算法的基本思想;能用流程图形式来表示枚举算法;学会使用枚举算法解决现实生活、学习中所遇到的问题。
2、过程与方法
通过对知识的探究和实际问题的解决,自学探究能力、解决问题能力和归纳概括能力得以提高。
3、情感态度与价值观
创设情境,激发和保持学生的求知欲,培养学生学习的主动性和积极性;构建研究的环境养学生良好的学习习惯和探索研究的科学态度。 【重点与难点】 教学重点:
(1)理解枚举算法的基本原理。
(2)能根据问题描述确定枚举范围,并能用程序正确表示验证条件。 (3)枚举算法的程序实现。 教学难点:
(1)各种枚举算法的优劣评价。 (2)编程实现枚举算法。 【课前准备】
导学案,多媒体课件,Visual Basic6.0,多媒体教室 【教学过程】
学生学习的目的在于能够真正运用所学的知识去解决现实世界中的实际问
3
题。学习者所处情境越真实,需要解决的问题越现实,学习者的学习积极性越高,主动性越强,自由性越大,学习过程就越生动、有效。根据本理论,我的教学过程设计如下:
教学流程
教师活动 学生活动
设计意图 导入新课 教师利用导学案和课件,通过寻找钥匙开门的实例,形象地引入枚举算法的基本思想。
在活动中,教师要及时
提醒同学领会三种基本结构在此任务中的应用。
问题1:小明约了几个同学一起到会议室里开会,可是粗心的小明从老师那儿接过钥匙的时候,却忘记了到底哪一把才是会议室的钥匙(配套的钥匙有若干把)。怎样找出能开这把锁的所有钥匙?
请同学上台尝试完成任务。
为了激发学生的学习动机和参与兴趣,通过生活中找钥匙开门的实例,自然地引入了枚举算法的基本思想。
能力聚焦(找出8的倍数游戏)
本环节,教师要让同学理解枚举算法的结构
特点和枚举范围以及检验的条件如何确定。
思考:
1、枚举变量i的范围如何确定?
2、检验条件如何界定? 3、如何把流程图转化为程序代码?
通过流程图的学习,让学生真正理解“一一列举,逐个检验”的算法思想,并再次加深对“for„next”和“do„loop”语句的理解。
课堂演练(水仙花数)
通过巡视指导和个别辅导,提示同学在列举过程中要既不遗漏,又不重复。
思考: 1、用纸和笔,你能解决这个问题吗? 人工手动可以解决问题,但费时费力且易错,所以要发挥计算机运算速度快的优势,利用计算机编程来帮助求解“水仙花数”问题。 2、枚举变量X的枚举范围是什么? 3、下列两个数是否水仙花数?371 380
此问题帮助同学加深理解水仙花数的特征。
通过课堂实例和拓展提升,再次加深学生对枚举算法的理解。 枚举算法的概念总结和完善 在同学用自己的语言讨论和总结的基础
上,然后老师再补充、完善。
枚举是最简单,最基础,
也是最没效率的算法。但是枚举拥有很多优同学根据新课导入和完成任务过程中的领悟和理解,用自己的语言讨论和总结: 1.枚举算法的概念 2.枚举算法的结构特征 3.枚举算法的设计步骤 4.枚举算法的优缺点
通过课前布置的导学任务,学生能很好地完成本环节的教学任务。通过总结,让学生正确领会枚举
4
点。首先,枚举只要时间足够,检验的条件正确,就能枚举得出的正确结论。其次,因为它是对所有方案的全面搜索,所以,它一定能够得出所有的解。
Ø枚举算法充分利用了计算机快速、高效、准确的优点。 Ø枚举算法的局限性:效率不高,它的准确性和全面性是以消耗时间为代价的。
算法的优缺点。 习题巩固
通过“百钱买百鸡”实例确定枚举范围,以求尽可能的缩小列举范围。
1、理解枚举算法思想。
2、明确枚举范围,枚举条件。
如何尽可能缩小解的列举范围,提高运行效率。 自我评价
自我评测
对本节课的课堂效果的初步预判
【教学后记】
1、教学情境的创设
枯燥乏味的程序算法课中,如何让学生变得愿学、乐学,一直是信息技术教师追求的梦想。不过,算法本来就是源于生活的,如果教师能够细心观察、多多思考,完全可以使算法的课堂变得生活气息十足。本节课以在一串钥匙中查找一把锁的所有正确钥匙为新课引入,此任务同学经常遇到,非常形象。而且又能结合课堂教学内容和教学目标,比较有效地调动了学生主动探究学习的积极性。
2、培养同学总结、概括的能力
开始的教学设计中在新课引入后,老师先将枚举算法的概念和流程图特征总结了出来,让学生对枚举算法有了初步的印象,接着通过同学自主探索完成任务,并让同学根据新课引入和尝试完成任务(水仙花数)中的领悟和理解,用自己的语言讨论和总结:枚举算法的概念、结构特征和注意事项,然后老师再补充、完善。如此,可以进一步巩固培养同学总结、概括的能力。
视频来源:优质课网 www.youzhik.com