《枚举算法》设计_第1页
《枚举算法》设计_第2页
《枚举算法》设计_第3页
《枚举算法》设计_第4页
《枚举算法》设计_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

《枚举算法》教学设计Ⅰ:教案【教学目标】知识与技能:学生通过生活事例引入枚举法,全体学生能够正确理解枚举法的概念。学生通过解决查找水仙花数问题,全体学生能够学会编写枚举算法程序。过程与方法:通过事例引入枚举算法,归纳出枚举算法的一般设计步骤。提出水仙花数问题,学生讨论回答算法,尝试编程解决问题。情感态度与价值观:通过已有知识解决新问题,培养学生探究精神。【教学重点与难点】【教学重点】枚举算法编程。【教学难点】将三位自然数个位数、十位数、百位数分离出来。循环结构嵌套分支结构。【教学准备】电子演示文稿、计算机房、ftp网站【教学过程】一、新课引入:1、与同学讨论查找自行车轮胎漏气位置过程。将轮胎一部分放入水中,如果出现气泡,用牙签做好标记……,接下来做什么?建议继续检查,将轮胎全部检查一遍……。师生得出结论:所有部位查找一遍,标记出漏气部位。既不能遗漏也不应重复。2、归纳总结:枚举算法概念:根据所需解决问题的条件,把该问题所有可能的解,一一列举出来,并逐个检验出问题真正解的方法。(也称为穷举法)特点:在列举出所有可能的解时,既不能遗漏也不应重复。3、设问:查找自行车车胎漏气位置过程包括那些算法基本结构?分解动作:检查一部分→转动→检查另一部分→转动→检查另一部分……,(学生回答循环结构)这样做的目的是对所有可能出现漏气的部分进行检查。(确定范围、一一列举)如果水中冒泡→标记→不冒泡→不需要做标记(学生回答分支结构)(根据条件、逐个列出)用流程图表示:将分支结构合成到循环结构中,得到解决该问题的方法。合成:将分支结构流程图链接到循环结构内部,即可得到解决该问题的算法。4、归纳总结:由此可以得出一个解题思路:先分解,后合成。检查开始位置有需检查位置检查开始位置有需检查位置继续检查TF漏气TF做好标记二、提出问题:在数学上有这样一些三位自然数,个位、十位和百位数的三次方之和等于这个数,如:153=1^3+5^3+3^3,这样的数称为“水仙花数”,参照查找车胎漏气位置的方法,设计一个程序查找出所有的水仙花数。三、请同学参照修补自行车轮胎的解决思路,讨论如何查找所有的水仙花数?(流程图)(学生讨论思考,师生讨论,同时画出流程图,提示关键语句)分解:设问1、先考虑三位自然数有多少(确定范围),怎样输出所有的三位自然数?(一一列举)学生得出结论:三位自然数从100开始依次到999共有900个三位自然数,最方便的算法使用循环结构。(通过师生问答填充循环结构流程图)设问2、如何判断某个三位自然数是否是水仙花数?学生得出结论:使用用分支结构判断某一个自然数是否是水仙花数i=a^3+b^3+c^3(根据条件,逐个选出)设问3:如何从任意一个三位自然数i中,得到百位数、十位数和个位数?百位数:a=int(i/100)十位数:b=int(1/10)mod10(或int((imod100)/10)个位数:c=imod10(通过师生问答填充分支结构流程图)合成:将分支结构流程图链接到循环结构内部,即可得到解决该问题的算法。四、编写程序(学生尝试编程):分解:设问1、如何用循环语句表示输出所有三位自然数?学生回答:Fori=100to999thenstr(i)Nexti设问2、如何用分支结构语句判断某个三位自然数是水仙花数?学生回答:i=inputbox(“输入i”)i=val(i)a=int(i/100)b=int(1/10)mod10(或int((imod100)/10)c=imod10Ifi=a^3+b^3+c^3thenstr(i)+”是水仙花数”Endif合成:Fori=100to999a=int(i/100)b=int(1/10)mod10(或int((imod100)/10)c=imod10Ifi=a^3+b^3+c^3thenstr(i)+”是水仙花数”EndifNexti3、编写、运行、调试、保存、上传。请学生演示、运行程序,适当点评。五、归纳、小结:通过生活事例和查找水仙花数,学习了枚举算法;验证了复杂的问题可以通过三种算法结构及其嵌套解决;解决复杂问题采用先分解,后合成的方式掌握这种解决问题的方法。六、拓展练习:我帮韩信来点兵:刘邦问韩信带来多少兵,韩信回答:“三三数之剩二,五五数之剩三,七七数之剩二”,问韩信带来多少兵?有能力的同学可以将其改为输入若干个数及其余数得到人数。(参照例题解决,提示xmod3=2人数在100以内)Ⅱ:教案设计说明一、课程背景枚举算法是《算法与程序设计》(华东师范大学版)第四单元第二节的内容。本学期学生开始接触vb编程,刚刚学习了分支结构和循环结构,学习枚举算法有一定的难度。我校是“二期课改”实验基地校,长期以来,遵循“能力比知识重要,过程比结果重要”的理念进行教育教学活动,近期学校要求全体教师开展了“课堂教学有效性”的探究。因此在教学过程中如何利用学生已有的知识与经验解决新的问题,帮助学生克服教学中的难点就成为了本节课的关键。二、教学设计1、精心准备事例:众所周知,“一切知识都从经验开始”。经过反复推敲,选择了两个生活实例,一个统计是骑自行车上学的同学,学生举手,统计举手人数。另一个是修理自行车轮胎时查找漏气部位过程。学生回答:将充气车胎放入水盆,看是否有气泡,检查到一漏气处,接下来怎么办?……经过讨论,继续查找,直到将车胎全部检查一遍。经过师生之间的问答、归纳“统计举手人数……,标记漏气处……”等,很容易得出枚举算法的概念与特点。2、深入探讨事例:设问查找自行车轮胎漏气处包括了那些算法结构?学生可能会出现困难,经过适当的提示,在师生的讨论过程中得到结论是循环和分支结构,分别用循环结构与分支结构流程图表示查找的过程与用牙签标记漏气位置的过程,然后将两个流程图合并,先分解,后合成的分析问题解决问题的思路形成,进一步归纳循环结构——确定范围,一一列举;分支结构——根据条件,逐个选出。到此为止,新课中的解题思路与方法在简单的生活实例中得到了解决。3、提出问题,解决问题:设问按照查找轮胎漏气位置的方法查找“水仙花数”。根据学生讨论的情况,适当提示:确定范围,一一列举;根据条件,逐个选出;流程图、语句格式等。列举学生成功与不成功案例,观察讨论。4、小结与归纳:及时对学习情况进行归纳总结,布置思考与作业,及时巩固新课知识。Ⅲ:教学反思“二期课改”要求教学过程中以学生为主体,教师为主导。教学是由教师组织学生进行有目的、有计划的有效学习的活动过程。如何让学生实现有效学习是我们教学设计的目标。解决新旧知识衔接问题。如何将已有的知识与经验转化为新的知识?它不仅是一节课上的内容的简单转换,而应该是一种理念、心态或者说是思维方式的转变。因为在考试过程中,学生所见到的题目基本上是没有见过(或是说出现过一样的题)。学习的过程就是培养学生具有这样一种能力,利用已有的知识与经验,判断、探究未知的问题,利用已有的经验与方法,解决新的问题。如果能够做到这一点,在今后无论是面对考试、还是生活,学生都能够从容解决面临的一切问题。在设计枚举算法时就是基于这样的目的,引入实例,通过实例的探究与归纳,整理出两条线:一是分解问题,得到两种基本算法,循环结构和分支结构,二者合并得到问题的解,即先分解,后合成的解题思想;二是通过分析讨论可以得出循环结构——确定范

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论