1、枚举算法的实现教学设计第 1 页 共 11 页 枚举算法的实现一、概述学科:信息科技年级:高中一年级本节课是华东师范大学出版社出版的上海市信息科技(选学模块) 教材算法与程序设计的循环结构复习课,所需课时为 1 课时。在本课时中学生主要复习如何读流程图结构、读输入输出、读计数器、累加器、累乘器,掌握循环结构中控制循环的要素, (如初始状态、循环体、循环条件等)教学思路: 二、教学目标分析1、知识与技能(1)掌握判断循环结构流程图的几大要素。(2)学会区分循环结构中的直到型循环和当型循环。(3)理解计数器、累加器、累乘器在循环结构中的重要作用。2、过程与方法(1)(2)学会分析循环结构的规律,总
2、结方法,并应用于实际的流程图填空中。3、情感与态度(1)感受循环结构的运行过程,并学会用循环结构的算法设计思想解决实际问题。 教学重点1、计数器、累加器的作用与功能2、重复执行语句的分析、推导3、变量初始值设定4、循环终止条件设定5、循环次数的确定三、学习者特征分析1、现在的学生在父母、长辈的关爱下成长,比较以自我为中心,习惯了别人对自己的欣赏和赞美。少有学生会去挖掘他人身上的闪光点来提醒和弥补自己的不足。通过“我来说说真心话”这一活动,让学生学会去挖掘和欣赏他人的优点,既能让他人能感觉到自身的价值,也能让自己从中受益,增强同学间的友谊,营造积极向上、和谐的班级氛围。2、算法实例一直是高中教学
3、中的难点,理论性强、枯燥学生学习的主动性不强。教学效果不理想。为了提高学生的学习积极性、课堂参与度,所以设计了文档加密和解密的活动。加密和解密活动对学生来说是比较“神秘”的,学生对此类问题兴趣浓厚,乐于去探索和尝试。枚举算法的实现教学设计第 2 页 共 11 页 3、通过上节课两个枚举算法实例“寻找 37 的倍数”和“一份单据被涂抹数字的推算” ,学生已经对枚举算法有了一个初步的理解。学生对枚举算法知识点的理解仅限于教师给出解题流程图,学生能读懂流程图的意图这一基础上。如果想让学生自己解题,绘制解题流程图,有一定的困难。4、枚举算法是学生第一次接触循环嵌套分支的结构,在算法的难度上较前面有了很
4、大的提高。在一个流程图中,哪部分为循环结构,哪部分为分支结构,学生非常容易混淆。同时也反映在流程图翻译成 VB 代码上 do while 和 if 语句的使用不熟练。所以这节课再次通过枚举算法实例的分析和解答,巩固加深对枚举算法知识点的理解和应用。5、学生在前几次的 VB 程序编写课上,表现出不细心,容易在细节(输入错误、特殊符号遗漏、语句不完整等)上出现问题导致程序调试不成功,或者结果不对。让学生自己去验证程序、很难发现自己的错误所在,往往要求助教师解决。通过加密和解密这一活动,可以让学生互测程序是否编写正确,合作寻找错误的原因。实践发现学生有一定的解决问题能力,两人合作查找问题,往往能找到
5、问题所在并解决,不但提高了学生发现问题、解决问题的能力,同时也避免了上机过程中,教师无法兼顾到每个同学的尴尬局面。四、教学策略选择与设计整节课的教学设计理念是:以游戏教学、情境教学的教学方法,让学生参与到游戏活动中,更好的激发学生的学习兴趣,寓教于乐。1、在对学生进行学会欣赏他人的道德教育、信息安全的讲解、枚举算法的概念、特征、优缺点等理论性较强的知识点讲授,拟采用以教师为主导的讲授式教学。通过教师演示ppt,引起学生的思想共鸣。通过教师提出问题,引导学生回答问题,来帮助学生回忆和巩固所学知识。2、本节课中的使用枚举算法对真心话文档进行加密是本节课的重点和难点,所以课堂中重点对产生加密密码的枚
6、举算法流程图进行细化,通过将问题分解让学生分步完成流程图。这部分内容拟采用自主学习策略。学生根据教师所给提示,自主完成流程图的绘制。3、本节课中使用 VB 程序设计语言实现,得到加密的密码组合也是本节课的重点和难点。这部分拟采用合作学习策略(二人合作) 。枚举算法的程序实现要求每个同学熟练掌握,所以采取二人合作的学习策略比较合适,同学间既能互相探讨,共同解决困难,又避免了某些同学在小组多人合作时出工不出力的现象。五、教学资源与工具设计教师用:教学用 ppt 课件、教师演示 VB 程序。学习环境:计算机多媒体网络教室、office 办公软件、winrar 压缩软件、VB6.0 中文版。六、教学过
7、程教学设计流程图情境导入:网络环境下,保护信息安全学生写下真心话提出文档加密要求复习枚举算法概念和特点分步完成枚举算法流程图设计根据流程图,完成 VB 代码翻译上机编写、调试、修改程序真心话文档加密、传输、解密讨论归纳枚举算法的特点和优缺点关注计算机信息安全word 输入ppt 讲解完成学习任务书VB 程序设计语言winrar 加密解密、网上邻居共享文档ppt 讲解学生总结 、ppt 展示学生口述,ppt 展示ppt 讲解枚举算法的实现教学设计第 3 页 共 11 页 教学设计教学内容 活动设计 设计意图一、导入网络环境下,如何保护信息安全教师提出问题:假如我是某公司的机要人员,掌握了公司的重
8、要数据报表或人事资料,我可以采取什么方法保护我的重要文件呢?学生讨论回答。(1) (1)通过将文件加密。(2)通过备份文件。(3) 通过对计算机进行加密使用。教师总结:对重要文件、计算机进行加密访问,提出问题,回顾保护计算机信息安全这一章节的知识点。Comment 园园园园1: 用较少的时间将学校德育教育融入到教学活动中,润物细无声。Comment 园园园园2: 布置任务很重要,让学生在活动开始前就了解整节课教师的意图和课堂活动的顺序。有利于学生按步骤参与活动。Comment 园园园园3: 这个加密枚举算法的结果是教师事先测试选择的,枚举的计算结果不能是唯一的、也不能太多,不利于后面学生解密活
9、动的开展。所以这个加密枚举算法最后得到的密码组合为 11组。既有加密、解密的神秘感,又不会占用太多的时间去解密。枚举算法的实现教学设计第 4 页 共 11 页 比较有效。二、学生说出真心话同桌间写下最为欣赏对方的一个方面。教师播放 ppt。学会欣赏别人,在别人身上找到自己的不足,在彼此欣赏中共同进步。学会欣赏别人,是一种人格修养、一种气质提升,有助于自己逐步走向完美。学会欣赏别人是一种豁达风度。 “海纳百川,有容乃大” 。 布置任务,教师播放 ppt告知学生整节课的流程。完成真心话文档,最欣赏同桌的一个闪光点。并对此“重要文档” ,使用 winrar加密的方法。懂得欣赏他人,能挖掘他人身上的闪
10、光点,以弥补自己的不足,营造积极向上的、和谐的同学关系。三、文档加密要求教师提出要对真心话文档进行加密,同桌需解密后才能观看。教师提出加密的要求(展示 ppt):密码为 6位正整数,此数能同时被 158和 517整除。在得到密码组合后,选择其中一组对真心话文档进行加密。请同学分析加密要求,想要得到加密的密码组合可以使用什么算法得到?以游戏教学、情境教学的教学方法,让学生参与到游戏中,更好的激发学生的学习兴趣,寓教于乐。对加密的密码提出要求,引导学生用枚举算法得到加密的密码组四合。Comment 园园园园4: 用不同的颜色绘制流程图,将循环结构和分支结构区分开来,学生容易分辨和理解。枚举算法的实
11、现教学设计第 5 页 共 11 页 四、复习枚举算法的思想枚举算法的概念和特点学生回忆枚举算法思想:有一类问题可以采用一种盲目的搜索方法,在搜索结果的过程中,把各种可能的情况都考虑到,并对所得的结果逐一进行判断,过滤掉那些不合要求的,保留那些符合要求的,这种算法叫枚举算法。分析总结枚举算法的特点:既不遗漏、也不重复关键点:(1) 、确定范围:列举该问题所有可能的解。 (2)检验条件:检验每个可能解是不是问题的真正解帮助学生一起回顾枚举算法的概念和特点,为下一步的解题理清思路。五、分步完成枚举算法流程图的设计将问题细化,分步完成流程图的绘制学生分析:确定列举范围:100000999999检验条件
12、:这个数是 158和 517的倍数。(1)绘制列举的流程图(使用循环结构)(2) 检验条件(使用分支结构)(3) 完成流程图的合并。枚举算法的结构是循环嵌套分支。如果融合在一起分析学生容易混淆,通过分步完成,让学生清楚地了解哪个部分为列举(使用循环结构),哪个部分为检验(使用分支结构否)。也有利用接下来VB代码的翻译。枚举算法的实现教学设计第 6 页 共 11 页 六、vb语句的翻译。定义变量的数据类型(长整形) 。循环语句的使用(do while 语句) 。单分支语句的使用(if 语句) 。 Dim j as long(定义 j 变量的数据类型为长整形) j=100000 Do while
13、j=999999 if j mod 158=0 and j mod 517=0 then print j end if j=j+1 Loop巩固 VB中循环语句和分支语句的使用。并且掌握循环嵌套单分支的语句排列。七、学生上机编写、调试、修改程序学生上机调试程序,得到密码组合。同学间互相帮助,调试程序。学生编写程序要特别仔细,一点差错就会影响程序运行结果。导致同桌解密失败。Comment 园园园园5: 某些同学在课堂中表现出急于求成,出现两人互换密码的情况,教师要及时加以引导,让学生体会解密的乐趣。Comment 园园园园6: 这两题在课堂上,只让学生分析解题思路,知道哪类题目可用枚举算法解题即
14、可。作为课后作业完成。枚举算法的实现教学设计第 7 页 共 11 页 八、文档加密、传输、解密。学生利用 VB程序运行的得到的密码组合,对文档进行加密,通过网络将加密文档传给同桌,同桌进行解密。学生:同桌两人都得到密码组合后,选择其中的一组密码作为自己文档的加密密码。教师:提醒学生注意对自己所设置密码的保护,不能提早透露给同桌,让同桌自行解开秘密。学生:通过网络共享的方式,同桌间交换加密文档。利用自己编写程序得到的密码组合尝试去打开对方的加密文档,如果能打开,说明双方的密码设置都正确。否则肯定有一方密码设置有问题。同桌间互相帮助,查找并解决问题。教师活动:教师巡视、个别指导,观察、总结并及时记
15、录学生在完成任务过程中出现的问题。通过加密和解密,同桌间互测 VB程序运行结果是否正确。九、师生讨论归纳枚举算法的特点和优缺点给出两个问题,是否可以使用枚举算法解决?(1) 求班级 40个同学语文考试的均分。(2) 求班级 40个同学语文分数大于等于 80分的人数。从这两个例题分析枚举算法的特点:枚举法的关键就是列举和检验这两个操作。为了保证对所有的情况逐一列举和检验,势必要重复地进行这两个操作,直到所有情况都检验完毕。检验就是对某一给定的条件进行判断,根据判断的不同结果执行不同的操作,所以检验部分可以使用分支结构来实现。枚举算法的优缺点:优点:非常高的准确性和全面性缺点:当数据规模较大时,执
16、行效率低生活中常见的枚举算法(如找钥匙、修补轮胎、挑烂苹果等) 从例题分析加深对枚举算法知识点的理解和巩固。让学生体会到算法在生活中是无处不在的。十、思维拓展关注计算机信息安全教师提出问题:a、存折或信用卡在柜员机上取钱时,为什么系统要限制输入密码的次数? b、密码日记本、密码旅行箱的安全性?c、密码如何设置才安全?学生回答:不限制输入密码的次数,有可能让不法分子无限次尝试,导致密码被破解,资金丢失。密码日记本和密码旅行箱的密码由数字构成,只能在短暂时间内保证安全,如果有足够的时间,也将会被破解。枚举算法在破解密码方面的使用原理。讲述信息技术可能带来的不安全因素,要求学生自觉遵守网络道德枚举算
17、法的实现教学设计第 8 页 共 11 页 设置密码可以使用数字、大小写英语、符号相结合,这样破解的时间和难度大大增强。与法规。自觉养成保护密码的良好习惯,树立信息安全意识。七、学生课后练习1、求 11000 种能被 3 整除的数之和。使用多种解题方法。并判断哪种解题方法属于枚举算法?分析:此题虽然相对简单,但是一题多解。布置此题,发现学生确实能想到不同解题方法, 其中三种解题方法学生使用比较普遍和集中。通过让学生使用不同的解题方法,拓展学生的解题思路,并且指出其中一种解题方法属于枚举算法,加深对枚举算法的理解。2、求班级 40 个同学语文分数大于等于 80 分的人数。分析:第一题考查了学生使用
18、累加器,此题考查学生使用计数器,巩固复习累加器和计数器的运用。同时此题在课堂上只讨论了是否能用枚举算法解决问题,并未解题,所以作为课后练习。3、一个三位数正整数每位数字的立方之和等于这个三位正整数,我们称此类数为“水仙花数” ,如 1531 35 33 3故 153 是水仙花数。求 100999 之间的所有水仙花数。分析:此题在前两题的基础上提高解题难度,在此题中既要运用枚举算法思想,又能复习巩固前几节课的知识点算法中的运算符和表达式,需要学生灵活运用 mod,int 等函数将三位数中的个位、十位、百位数字分别取出。 并且写出检验的表达式。对学生解题能力的提高有很大帮助。枚举算法的实现教学设计
19、第 9 页 共 11 页 教学评价设计这节课在教学设计和教学实践时时间比较紧凑,来不及让学生进行评价,最后仅仅是通过教师观察学生是否完成解密,是否观看到同桌的真心话文档进行模糊评价。教学实践后根据课堂中学生所需完成的任务,设计了枚举算法的实现自我评价表进行定性评价,此张评价表需要在课后进行。枚举算法的实现评价表姓名: _ 日期: _评价指标 分值 标准描述 评价得分30-20 有明确的解题思路,能按照教师的活动步骤,一步一步解题,并收到了很好的效果。 20-10 能在教师的引导和启发下积极思考,一步一步解题,理解解题思路。 解题过程(30 分)100 没有动脑筋思考,对解题的方法不理解。 30
20、-20 能正确、快速地编写 VB 程序。在调试程序中出现的问题能自己发现和解决。 20-10 能较为正确、快速地编写 VB 程序。在调试程序中出现的问题能发现并在同伴和教师的帮助下解决。 编写程序(30 分)10-0不能正确、快速地编写 VB 程序。无法完成课堂练习。 30-20能在遇到问题时独立寻找解决办法,遇到困难不轻易放弃。能注意轻声讨论,自觉维护集体纪律,并能提醒其他同伴共同遵守。能实事求是地评价自己和他人,评价理由充分,评价用语得当,正确对待同伴的评定。20-10能在遇到问题时寻找解决办法,遇到困难不轻易放弃,能求助同伴和教师共同解决困难。比较注意轻声讨论,自觉维护集体纪律,并能提醒
21、其他同伴共同遵守。能较为实事求是地评价自己和他人,评价理由充分,评价用语得当,正确对待同伴的评定。综合情况(30 分)10-0 在遇到问题时自己无法寻找解决办法,遇到困难基本求助同伴和教师解决困难。没有轻声讨论。不能 枚举算法的实现教学设计第 10 页 共 11 页 较为实事求是地评价自己和他人,评价理由不够充分,评价用语不太得当,不能正确对待同伴的评定。10-8 能按时、保质完成课后作业。作业正确率很高。8-5 能按时、保质完成课后作业。作业正确率较高。作业情况(10 分)5-0 不能按时、保质完成课后作业。作业正确率低。等级 要加油 0总体评价:注:1)评价得分为 10090 为优; 89
22、75 为良;7460 为中;59 为不及格。2)总体评价要用文字表述,应充分肯定成绩并指出改进的方向。八、帮助和总结算法一直是高中教学中的一个难点,比较枯燥,学生比较排斥。在以往的教学中很多时候都是教师说得多,学生说得少,学生没有跟着教师的讲述来进行思考,教学效果比较差。所以算法教学中一定要让学生充分动起来,要设计学生感兴趣的活动,调动学生思考的积极性。很重要的一点就是教师的提问,教师在备课的同时,就要备问题。把一个大的问题细化,分成若干个小问题,循序渐进,并且注重问题的提法,怎么提问题才能使学生容易理解能回答上来。只有这样才能吸引学生跟着你的思路一步一步思考。教师在课堂中关注学生,对学生发学习任务书的时可以考虑分层,基础较好同学可以不给予提示,基础一般的同学可以给出流程图框架让其填写,基础较差的学生可以考虑填写流程图中的关键部分。及时发现并对部分基础薄弱或理解有困难的学生进行个别的辅导,帮助他们理解教师课堂任务的用意,能一步一步跟着教师的思路思考和练习。因为一旦有个环节学生不理解,那么后面的活动他就很难参与进来。在课后,根据学生的自我评价、学习任务的完成情况、课后作业情况对任务完成不理想的同学给予指导,及时把课堂中的遗留漏洞补掉。