浙教版高一算法与程序设计第二章枚举算法.doc

上传人:xinsh****encai 文档编号:157483847 上传时间:2020-12-23 格式:DOC 页数:8 大小:251.50KB
返回 下载 相关 举报
浙教版高一算法与程序设计第二章枚举算法.doc_第1页
第1页 / 共8页
浙教版高一算法与程序设计第二章枚举算法.doc_第2页
第2页 / 共8页
浙教版高一算法与程序设计第二章枚举算法.doc_第3页
第3页 / 共8页
浙教版高一算法与程序设计第二章枚举算法.doc_第4页
第4页 / 共8页
浙教版高一算法与程序设计第二章枚举算法.doc_第5页
第5页 / 共8页
点击查看更多>>
资源描述

《浙教版高一算法与程序设计第二章枚举算法.doc》由会员分享,可在线阅读,更多相关《浙教版高一算法与程序设计第二章枚举算法.doc(8页珍藏版)》请在金锄头文库上搜索。

1、浙教版高一算法与程序设计第二章枚举算法 浙江象山中学 黄琴 一、设计思想本课设计打破教材编写顺序,将本教材中的第二章的算法与第五章的程序实现结合起来组织教学,通过理论结合实践,让学生更容易理解各种算法的基本设计思想,体验编写程序的成功感受,同时又能掌握枚举思想。“枚举算法”也称“穷举算法”,这样学生更易理解其算法的思想:一一列出所有可能的解,并逐一检验。那么如何把枚举思想体现在算法中,用程序语言实现呢?。我在教学过程中对整堂课的设计上的思路是:通过具体情境引入主题认知主题体验主题拓展主题实现主题这几个阶段层层深入的递进式方法使学生充分掌握枚举算法。算法课一般与枯燥,晦涩,难懂,逻辑等字眼联系在

2、一起,往往难以激发学生兴趣。如何打破这种局面?如何激发学生兴趣,使学生情不自禁的,自主的去学习算法呢?新课程倡导“人文与生活”,在了解学生的身心发展特点前提下,尊重学生的学习、生活、兴趣,真正以学生为主体,有创造性地设计信息技术教学环节。本课作的设计除了遵循算法自顶而下,逐步求精的思想之外,新意之处在于根据电影情节别出心裁创设了一个情境,由男女主角辨认模糊电话号码导入,在故事中不留痕迹地渗透了教学内容,完成由简单到复杂的教学任务,整个课堂中洋溢着浓浓的纯洁感情,男女学生分别充当电影中的的男女主人公,体验各自角色的情感,在不知不觉由电影情节中学得枚举算法,完成教学任务。最后取得了不错的教学效果,

3、也算是在程序教学实践中的一种创新吧。在激发学生学习欲望的同时,将“技术”不断地融入“人文教育”以达到最终的教学目标。二、教材分析算法是解决问题的方法和步骤,根据高中信息技术课程标准对本模块提出的的要求,本课“枚举算法”的学习目标是使学生在已经掌握三种基本程序结构的基础上,进一步掌握枚举算法设计思想。枚举算法注重学生逻辑思维能力的训练,同时它也充分体现了用计算机解决实际问题的方法和步骤,是一种重要的算法方法。本节课是算法与程序设计第二章算法实例第一节的内容,要求学生学会使用枚举算法设计简单算法流程图,并掌握用程序设计语言VB来实现有关枚举算法的实例。教材中以“单据涂抹”和“包装问题”两个实例引入

4、,得出枚举算法解决问题的一般过程。通过一年的教学实践,感觉学生对此两个实例的学习兴趣并不是很高。三、学情分析1、在前面的教学中,学生已经理解了算法的特点,学习了算法的三种表示方式,并且重点学过了流程图,会辨认每个图框及其表示意思,初步会设计流程图。2、理解了顺序、选择、循环三种基本结构,并通过参与活动手册中的实践,对程序有了初步的认识。所以学生对于三种基本控制结构已经有了知识基础,也能阅读一些简单的程序段。在本课中学生会觉得设计思想比较容易掌握,如何将枚举思想转变成具体的算法,枚举算法又如何转变成具体的VB程序呢?课堂的难点主要在于前点,主要的体现在画出枚举算法流程图。让学生一个一个编码显然是

5、不现实的,一堂课时间来不及,可以采用关键程序填空的方法。四、教学目标1、知识目标:学生亲身体验并理解枚举算法的基本思想;用流程图形式来表示枚举算法;理解由流程图翻译成的VB代码,能上机成功调试。2、能力目标:通过具体例子分析,让学生理解如何用3步法来解决实际问题;学会使用枚举算法解决简单问题;3、情感目标:体验电影中男女主人公之间的感情;感受枚举在日常生活中的广泛应用,培养对算法的兴趣;通过小组合作增进学生间的学习交流,培养合作能力;五、重点与难点教学重点:让学生理解枚举算法;初步培养学生运用三步法来解决实际问题;教学难点:理解多种控制结构的嵌套;枚举算法思想的理解与实现(流程图转化为代码并上

6、机实践)。六、教学策略与手段1、教师教法:情景创设法、演示法、讨论法2、学生学法:自主学习、合作探究学习七、课前准备1、教师的教学准备:准备“向左走 向右走”电影片段准备枚举算法的Visual Basic演示程序2、教学环境多媒体机房八、教学过程第一步 创设情境,认知主题【教师】:课前播放电影片段向左走 向右走。 提问:刚才看的是那部电影中的画面?【学生】:向左走 向右走并且简述电影的主要情节。【教师】:对了,电影向左走 向右走中,讲述了金城武饰演的一位小提琴家和梁咏琪饰演的一位翻译家之间唯美的爱情故事。两人居住在同一幢公寓,中间只隔了一堵墙,却因为两人彼此习惯不同,一个习惯向左走,一个习惯向

7、右走,总是不断擦身而过未曾相遇。电梯一上一下、在月台上分站两旁终于有一天,两人同事来到公园在水池旁相遇了,但是天意弄人,两人在雨中匆忙交换留下的电话号码,在湿透的纸上模糊一片,两人不断拨号却无法拨到对方。 模糊的电话号码展示: 【教师】:电话号码被雨水冲模糊了,如果你是故事中的主人公,男同学可以是小提琴家,女同学是翻译家,这时如何找到你自己心仪的爱人的电话呢? 请一个姓“金”的男生(或者姓“梁”的女生)回答。【学生】:像找回密码箱密码一样,一个一个按顺序去拨打,如果是对方接的,说明就找对了。【教师】:很好,“金”同学如果你是“小提琴家”一定能找到心上人。我们从刚才的情景中可以看出,如果要找到一

8、个问题的真正解,必须要把所有可能的解都列出来,然后再一一进行检验,看看是否有符合条件的。刚才大家找电话号码的方法,我们可以称为“枚举算法”。看来学了枚举算法有助于找自己的有缘人,学了算法非常有用。 枚举算法基本思想:按问题本身的性质,一一列举出该问题所有可能的解,并在逐一列举的过程中,检验每个可能解是否是问题的真正解,若是,就采纳这个解,否则就放弃它。 请问各位同学,在看了枚举算法这个概念后,你们觉得这个算法的最关键的要求是什么?【学生】:一一列举;逐一判断【教师】:电影中,男女主角都有尝试去拨了很多电话号码,为什么没有成功呢?【学生】:并没有一一拨打所有可能的电话号码【教师】:对极了,在列举

9、的时候一定要遵循这样的一个规律:一一列举、逐一检验,做到既不遗漏也不重复。【设计意图】引导学生都进入了电影情景中,融入情节,想象着自己就是那个故事中的主角,使每个学生似乎都有了情感目标要,找到对方的电话,所以听得特别认真,这时水到渠成地提出枚举算法的基础知识,学生象海绵吸水一般学习着枚举算法的相关知识。接下去深入学习枚举算法的实现过程。这个导入显得贴切,稳妥。第二步 逐步深入 体验主题【教师】:这么近的两个有情人不能相见,导演也太整人了。今天老师也来做一回编剧,把电话号码重新设置一下,大家来试试能否找出真正的电话号码。这里有两个电话号码一个是梁咏琪手上金城武的号码,另外一个是金城武手上梁咏琪的

10、号码。我们先一起来看看怎么找金城武的号码。女同学们特别要用心呀!电话号码可以看成是一个8位数的编号,其百位数和十位数处已经变得模糊不清。如果知道这个8位数(电话号码)是13的倍数。现在要找出所有满足这些条件的8位数,并统计这些8位数的个数。【教师】:首先,我们一起来分析一下,按照枚举算法的关键步骤。步骤一:一一列举该问题的所有可能解。那百位和十位上的数字有哪些可能?【学生】:00、01、02、一直到99。【教师】:这样就可以表示电话号码了吗?还应该怎么做?【学生】:这些数乘以10再加上22764005。【教师】:小结,结合PPT展示。将百位和十位的数用一个变量j来表示。让变量J依次取0到99这

11、100个不同的值,接着给J的每个确定的值乘以10加上22764005这样就能形成一个可能解。【教师】:步骤二:检验每个可能解是否是问题的真正解。检验的条件是什么呢?【学生】:这个八位数是13的倍数。【教师】:怎么用表示这个数是13 的倍数呢?【学生】:用13整除余数为零。【学生】:N MOD 13=0【教师】:好极了,用这个枚举方法我们就一定能找到金城武号码,而且肯定不会出错不会漏下。【设计意图】:修改电影情节中号码,使之符合教学要求。通过找金城武的号码这个过程,学生基本上能理解用简单的单层循环枚举解决问题的一般过程。因为都有这样一个目标,学生都听得饶有兴趣,积极参与,气氛热烈。接着深入把分析

12、结果转化为流程图。【教师】:我们将刚才分析的结果转化成流程图。展示流程图:J:循环变量,其作用如下:1、用它来控制循环是否继续进行,记录已经执行 的循环的次数。2、依次产生应填在百位和十位上的数值。N:存储一个可能解【教师】:判断框中就J100,还有其他答案吗?【学生】:J=99【教师】:我将J的初值改为1可以吗?为什么?【学生】:不可以,因为漏掉了一个可能值22764005。【教师】:大家都思考得很好,在分析问题的时候一定要先列出所有可能的解,不能遗漏不能重复。在写取值范围的时候可以有多种格式,在考虑算法的时候一定要周密,尽可能使程序看起来简单,执行起来速度快。【设计意图】:将自然语言转化成

13、流程图,一步一步转化,并在此前分析解析所要用到得变量。再把流程图变为程序代码。【教师】:再将流程图转化成程序代码。【设计意图】根据流程图,结合两个关键步骤:一一列举,逐一判断,一步步编写VB程序代码,使学生加深对流程图的理解,充分正确理解枚举算法的思想一一列举,并逐一检验这么一个过程。第三步 温故知新 拓展主题【教师】:金城武的电话是找到了,梁咏琪的电话号码还没有解决呢?我们一起来看看怎么样找梁咏琪的号码?特别是男同学更加要开动脑筋了。已经知道女主角的电话号码还是一个8位数的编号,如果其千位数和十位数处已经变得模糊不清。但是知道这个8位数(电话号码)是13的倍数。现在要找出所有满足这些条件的8

14、位数(电话号码),并统计这些8位数的个数。【学生】:小组合作思考,探究。【教师】:还是和刚才一样,根据两个关键步骤,逐步引导学生解决问题。步骤一:一一列举千位数与十位数的号码模糊,列举时需要两个变量来表达:i和j。i和j是怎么变化的?【学生】:i从0到9,j从0到9。【教师】:列举时需要for循环语句来一一列举。【教师】:步骤二:逐一检验检验时,需要根据条件来新来进行判断。需要用到if语句。【学生】:说出检验的主要代码。if n mod 13 = 0【教师】:检验时需要if判断语句来逐一判断。【设计意图】男主角号码是一个简单的单层循环;女主角的号码变得复杂了,是一个两层循环。学生再一次体会枚举

15、算法解决问题的一般步骤和方法,并且理解双重循环。这两个任务从简单到复杂具有层次性。是一个由简单到复杂的一个过程。第四步 学以致用,实现主题【教师】:刚才是我们一起运用枚举算法找了男女主角的号码。下面我们就付诸实施,同学们自己利用计算机帮助我们找出符合条件的电话号码。实践活动一:查找电话号码女生查找男主角的电话号码男生查找女主角的电话号码看看哪个男生能第一个找到梁咏琪的号码,哪个女生能第一个找到金城武的号码?看谁用枚举算法最先完成这个任务。我们先来看一下程序的界面。展示完成后的程序效果,如图。展示完成后程序设计的界面,提示学生先设计程序的基本界面,再编写代码(通过提供不完整代码,有针对性的给予提示),调试成功后,最后再对程序界面进行美化,这样可以使学生在完成教学任务的同时拓展知识。【学生】:操作实践。【教师】:教师巡视,给予个别指导。【设计意图】:刚才找男女主角号码,是老师学生一起实现的,通过这个过程学生已经基本上掌握了枚举算法。这里给学生自己实践机会,对枚举进行独立应用,巩固相关知识。第五步 总结算法【教师】:实践活动中的源程序,和学生一起完成代码填空。教师

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号