浅谈“递归法的实现”课堂教学_第1页
浅谈“递归法的实现”课堂教学_第2页
浅谈“递归法的实现”课堂教学_第3页
浅谈“递归法的实现”课堂教学_第4页
浅谈“递归法的实现”课堂教学_第5页
全文预览已结束

下载本文档

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

文档简介

浅谈递归法的实现课堂教学摘要随着普通高中技术课程标准(实验稿)的颁布与实施,算法与程序设计成为了五大选修模块之一,是教学中比较难教和难学的一个课程。而在算法与程序设计中,“递归法的实现”是学生最难理解的一节内容,因此我对本节内容采用了“从游戏来引入课题”,“从简单、典型例题来讲解知识”,“从简到难来完善巩固知识”,教学效果较为满意。关键词递归法自定义函数“递归法的实现”是教育科学出版社高中算法与程序设计(选修)第三章第五节第三小节的内容。该教材选用了VISUALBASIC60作为程序设计语言。在前面学习了数据的表示与处理、程序的基本结构等内容,特别是自定义函数的学习,为本节内容打下了一定得基础。“递归法的实现”这一节内容的教学重点就是要求学生能够理解递归法,并学会用递归法分析问题、编写程序解决问题,其中用自定义函数实现递归法编写程序解决问题又是难点内容。如何激发学生的学习兴趣;如何让学生达到本节课的教学要求我对本小节教授制定了一定的教学策略,“从游戏来引入课题”,“从简单、典型例题来讲解知识”,“从简到难来完善巩固知识”,从而完成教学任务。1用游戏引入课题,激发学生兴趣我们学校学生的整体知识基础比较低,“算法与程序设计”与数学又有很大的关联,递归法对学生来说是非常难的,学生无法理解和想象。因此我通过设计游戏,让学生亲身体验,在欢快的气氛中理解递归法。游戏内容将一句诗“柳暗花明又一村”的七个字写在七张纸上,请八个同学排成一排,七张纸依次贴在第一个到第七个同学的背后,每一个同学只能看前一个同学背后的字,从第一个同学开始依次问下一个同学是句什么诗,然后由最后一个同学开始依次告诉前一个同学他所知道的所有内容,最后第一个同学就能猜出是句什么诗了。这个游戏清楚明了的蕴含了递归法递推和回归。前面学习了自定义函数,这个游戏用自定义函数可以这样描述PRIVATEFUNCTIONWHATNUMBER如果我是最后一个,我就告诉你是什么字;否则,我问了下一个同学后再一起告诉你ENDFUNCTION这个函数的作用就是得到第NUMBER个学生知道的字,所以要知道这句诗是什么,就要不停的用这个函数,从而引出,递归法就是函数自己调用自己。通过游戏的引入学生会比较感兴趣,能激发学生学习的积极性。2用简单、典型例题,分析讲解知识教材上用了兔子繁殖的例题来实现递归法,对学生来说是比较难的,就算是让学生用数学的方法来做,学生也不一定能正确的算出答案,更不用说用刚学习的递归法了,并且在这个程序中用到了在函数中两个同时调用函数自己,那对学生来说就是难上加难了,所以我就用简单、典型的例题来讲解,帮学生一起用递归法来分析问题。例计算5。这个题如果让学生用数学来做是非常简单的,人人都会,这样再用递归法来分析就简单了。分析如下用递归法的思想,5可以看成(45),4可以看出(32)直到最后一定要知道1等于1。通过图来演示图1根据图1所示,能够分析出,某一个数的阶乘都看以看成是它前一个数的阶乘乘以它自己本身,根据分析能够编写这样的自定义函数,作用是计算某个数的阶乘。代码如下PRIVATEFUNCTIONSNASINTEGERASINTEGERIFN1THENS1ELSESSN1NENDIFENDFUNCTION在这代码中“SSN1N”就是再一次的调用了此函数,体现了递归法。下面就是给学生形象地演示这个函数在程序运行时是如何运行的。54543432321211递推回归5PRIVATEFUNCTIONSNASINTEGERIFN1THENS1ELSES5ENDIFENDFUNCTIONPRIVATEFUNCTIONSNASINTEGERIFN1THENS1ELSES4ENDIFENDFUNCTIONPRIVATEFUNCTIONSNASINTEGERIFN1THENS1ELSES3ENDIFENDFUNCTIONPRIVATEFUNCTIONSNASINTEGERIFN1THENS1ELSES2ENDIFENDFUNCTIONPRIVATEFUNCTIONS(N)ASINTEGERIFN1THENS1ELSESS(0)1ENDIFENDFUNCTION4321图2从图2显示,学生会觉得很熟悉,在前面学习的程序的基本结构时,学习了循环的嵌套,学生都知道,要内循环都运行完了,再运行外循环;同样的,在函数调用时也是,从内到外,内部的代码运行结束了,再运行外部的代码,如图2所示。通过上述的分析,讲解,学生会比较容易的掌握递归法。在此,要学生特别注意两点1、递归分为递推和回归两部分,从图1中能看出;2、递推一定要有结束条件,如例题中的IFN1THENS1。为了检验学生的掌握情况,从此题引申两个题目,让学生自主探究完成。一、计算10;二、计算123100用递归法实现。3从简到难,完善巩固知识在学生对递归法有一定掌握的基础上,再来实现兔子繁殖的问题。要用递归法来实现此问题,在自定义函数中要用到两个同时调用函数自己。例有人养了一对兔子,这对兔子以后每月生一对兔子,新生兔子从第三个月开始,也是每月生一对兔子,问12个月后这人有多少对新生兔子通过分析,能得出这样一个数列,数学上也称为斐波那契数列1,1,2,3,5,8学生自己讨论探究,分析结果如下如果是第一个月或是第二个月,兔子数都只有一对,否则,兔子数等于前一个月的兔子数加前两月的兔子数。根据分析结果,让学生自主的来编写程序,然后教师评讲,展示正确代码。PRIVATEFUNCTIONTUMONTHASINTEGERASINTEGERIFMONTH1ORMONTH2THENTU1ELSETUTUMONTH1TUMONTH2ENDIFENDFUNCTION其中“TUTUMONTH1TUMONTH2”这行代码体现了函数自己调用自己,用递归法实现了问题,“IFMONTH1ORMONTH2THENTU1”这行代码体现了递归法的必要条件结束条件。在此,为了让学生对递归法理解透彻,学生在做题时一定要清楚两点一,要清楚自定义函数的作用,如例题中函数的作用是计算某一个月有的兔子对数;二,要清楚自定义函数如何自己调用自己的,以及整个程序的运行过程,学生的头脑中要有图2这样一幅图。通过这题由简到难,通过学生自主探究,分析解决问题,通过教师提示讲评,学生对递归法这一知识点进行了巩固和完善。课后我对这节课进行了反思通过本节课的学习,由游戏引入课题,激发了学生的学习兴趣,整个教学过程课堂气氛很活跃,再由简单、典型的例题进行详细的剖析讲解,从学生完成任务的情况来看整堂课的教学能够完成教学任务,最后从简到难的例题讲评,帮助学生巩固完善知识,同时学生的自主探究,分析问题,解决问题的能力也得到了提高。学习递归法这一节内容,一定要杜绝学生对题目的死记硬背,一定要让学生对递归法理解透彻,这样才能熟练地运用递归法的思想去分析问题、编写程序解决问题。最后建议教材上的例子简单化点,不仅仅是递归法这一节内容,像前面的“解析法解决问题”、“穷举法解决问题”例子都过于复杂了,就算让学生用学习了多年的

温馨提示

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

评论

0/150

提交评论