递归算法的实现.doc_第1页
递归算法的实现.doc_第2页
递归算法的实现.doc_第3页
递归算法的实现.doc_第4页
递归算法的实现.doc_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

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

文档简介

递归算法的实现指导教师宋荣华 2010年7月25日 17:54(该案例获2007年全国课堂教学评比一等奖,全国教学设计二等奖,收编于李艺教授主编的高中信息技术新课程精选由高等教育出版社发行)一、教材分析“算法的程序实现”是高中信息技术教育科学出版社算法与程序设计选修模块第三单元的内容,本课题是“递归算法的程序实现”,前面学习了解解析法解决问题、穷举法解决问题、在数组中查找数据、对数进行排序以及本节的前一小节知识点“什么是自定义函数”的学习,在学习自定义函数的基础上,学习递归算法的程序实现是自定义函数的具体应用,对培养学生“自顶向下”、“逐步求精”的意识起到关键的作用。二、学情分析基于教学对象是高中二年级学生,前一节课学习了如何自定义函数,在此基础上学习深入学习和体会自定义函数的应用,且学习了程序设计的各种结构,在学习程序设计各种结构的应用过程中,主要培养学生应用大量的循环结构进行“递推”算法进行计算机编程来解决现实中的实际问题的能力。三、教学三维目标知识与技能:1、 理解什么是递归算法,学生用递归算法的思想分析问题2、 能够应用自定义函数方法实现递归算法过程与方法:学生参与讨论,通过思考、动手操作,体验递归算法的方法情感态度与价值观:结合数学中的实例,培养学生的数学建模意识,培养学生多维度的思考问题和解决问题的方法。四、教学重点与难点重点:理解什么是递归算法,以及用递归算法的思想分析问题 应用自定义函数方法实现递归算法的编程难点:应用自定义函数方法实现递归算法的编程五、教学策略 基于递归算法的实现思想是理论知识强且比较抽象的教学内容。本节课主要采用层层深入、类比、问题式的教学方法,旨在培养学生的发现问题、分析问题、解决问题的意识与能力。六、教学环境 网络教室,教学软件VB,大屏幕投影,音响设备七、教学资源准备基于本学科的特点和学生的认知水平及学习心理特征,为更好地激发学生的信心,为保持学生的学习激情,不可能每位同学都喜欢程序设计,可能因素比较多,因此在教学过程中我设计了学生学习支持材料(智能化半成品加工程序),目的为了学生在有限的课堂中能清楚地了解算法与程序设计思想和方法。八、教学过程(一) 创设情境,提出课题师:上课之前我问同学们一个问题,平时你们上体育课是怎么报数的?生:1、2、3、4、5、师:除了队列中第一位同学报1以外,每一位同学报出的数字是怎么得出来的?(推算!)(请看视频!问你们报数是不是这样?)师:黑板板书“推算(最后一位同学所报的数是前面同学一步步推出的结果)一步步的推出结果”这就是我们常用的递推算法。师:今天我给同学们介绍一种你们没见过的报数方式(请看视频)师:引导学生观察并讨论视频(这个报数方式,被问的同学将问题推下去一步步的推底端答案一步步的返回一直到结束)这就是本节课我们学习的递归算法思想。设计意图:激发学生学习求知欲,并初步奠定“递归算法”思考分析问题的方法。(二) 启发主体,导出递归算法程序设计思想(1)展示题:小猴吃桃: 有一天小猴子摘若干个桃子,当即吃了一半还觉得不过瘾,又多吃了一个。第二天接着吃剩下桃子中的一个,仍觉得不过瘾又多吃了一个,以后小猴子都是吃尚存桃子一半多一个。问题一:到第3天早上小猴子再去吃桃子的时候,看到只剩下一个桃子。问小猴子第一天共摘下了多少个桃子?设计意图:鼓励学生进行推算,这里只设3天目的是简化题的难度,让学生有信心深入思考,初步培养推算的思想。(根据学生思维特点,这一阶段思维主要在于习惯性的数学推算环节)问题二:到第10天早上小猴子再去吃桃子的时候,看到只剩下一个桃子。问小猴子第一天共摘下了多少个桃子? (学生思考,培养学生从数学思维走入程序设计推算的思维)(2)大屏幕展示递推算法的推算动画演示过程(3)根据推算10天吃桃动画演示过程得出的数据和本题大意天子数15347663821909446221041(4)根据推算10天吃桃动画演示过程得出的数据和本题大意引导学生讨论并建立数学模型: 假设第days ,days=10天的桃子数为tao(days)那么 tao=10 days=1tao(days)=(tao(days+1)+1)*2 n10(5)(提示学生回忆今天老师介绍的报数方式)通过数学模型来看这个问题?引导学生换个思路来思考这道题的问题求解,第10天的桃子数为1个,求第一天的桃子数?设计意图:培养学生分析问题、解决问题能力,煅练学生“数学建模”,让学生通过实践和思考找出解决本题的关键,从而引出递归算法的解题思想。(三)深入学习递归算法的实现(1) 展示递归算法的动画演算过程,分析演算过程。通过演算过程,引导学生总结出:1、归算法的两个必备条件:A、递归分为递推与回归两个过程B、递归必需要有结束条件2、递归算法的实现方式:递归算法是数值层层调用实现的,函数先由上向下调用,当达到最底层后,再将数值层层向上返回。(在函数层层调用的过程中,参数的改变)(2) 通过上面的分析,大致的递归算法实现思想我们基本了解,那么在编程过程中如何解决四个问题:1、 怎么提出出问题?2、 什么时候结束?3、 怎么将问题推下去?4、 怎么将结果回归?设计意图:在学生初步认识递归算法的演算过程及特点以后,提出递归算法程序设计实现的关键问题,层层深入的引导学生思考问题,培养学生发现和分析问题的能力。(3)展示递归算法自定义函数程序,并分析如何解决上面提出的四个问题。设计意图:为下面进行操作练习奠定思维框架。(四)学生操作学生基本了解递归思路和递归实现的程序设计框架后开展操作练习,教师巡回指导!(五)总结提高总结操学生操作,介绍递归算法自定义函数的常用框架!设计意图:为下面学生自主练习奠定思维框架。(六)回顾视频1和视频2比较提高,引导学生能过视频分析,讨论出“两个视频报数同学动作的不同”1、视频1的同学在没有得到答案的时候就头部转向所问的同学等待,2、视频1和视频2的共同点是“完成报任务”的时候头部都向前看!)总结出:递归算法使得计算机资源耗费大,所以效率比较低(常驻内存的数据比较多) 设计意图:通过视频模拟算法的操作过程,让学生能够会意递归算法在计算机内部操作的内涵。培养学生发散思维,且让学生明确“算法与程序设计知识来源于生活应用于生活”的原理。(七)教材使用1、分析这个数列:1、1、2、3、5、8、13、求数列中第十二个数的值。2、引导学生分析并建立数学模型:3、此题是我们教材P68的例题“免子繁殖问题”, 由于教材分析很详细所以我想本题留给同学们课后思考,并研究递归算法实现程序与非递归算法实现程序。下节课上机调试!设计意图:分析问题并建立数学模型,克服学生学习的心理障碍,提高学生使用教材信心,并给学生提供可参考的学习资源和个性发展的空间。(八)课堂练习设计意图:巩固课堂学习内容(九)课堂小

温馨提示

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

评论

0/150

提交评论