浅谈“递归法的实现”课堂教学精选.docVIP

浅谈“递归法的实现”课堂教学精选.doc

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
浅谈“递归法的实现”课堂教学精选

浅谈《递归法的实现》课堂教学 摘要:随着《普通高中技术课程标准(实验稿)》的颁布与实施,《算法与程序设计》成为了五大选修模块之一,是教学中比较难教和难学的一个课程。而在《算法与程序设计》中,“递归法的实现”是学生最难理解的一节内容,因此我对本节内容采用了“从游戏来引入课题”,“从简单、典型例题来讲解知识”,“从简到难来完善巩固知识”,教学效果较为满意。 关键词:递归法 自定义函数 “递归法的实现” 是教育科学出版社高中《算法与程序设计》(选修)第三章第五节第三小节的内容。该教材选用了Visual Basic6.0作为程序设计语言。在前面学习了数据的表示与处理、程序的基本结构等内容,特别是自定义函数的学习,为本节内容打下了一定得基础。“递归法的实现”这一节内容的教学重点就是要求学生能够理解递归法,并学会用递归法分析问题、编写程序解决问题,其中用自定义函数实现递归法编写程序解决问题又是难点内容。如何激发学生的学习兴趣;如何让学生达到本节课的教学要求……我对本小节教授制定了一定的教学策略,“从游戏来引入课题”,“从简单、典型例题来讲解知识”,“从简到难来完善巩固知识”,从而完成教学任务。 用游戏引入课题,激发学生兴趣 我们学校学生的整体知识基础比较低,“算法与程序设计”与数学又有很大的关联,递归法对学生来说是非常难的,学生无法理解和想象。因此我通过设计游戏,让学生亲身体验,在欢快的气氛中理解递归法。游戏内容:将一句诗“柳暗花明又一村”的七个字写在七张纸上,请八个同学排成一排,七张纸依次贴在第一个到第七个同学的背后,每一个同学只能看前一个同学背后的字,从第一个同学开始依次问下一个同学是句什么诗,然后由最后一个同学开始依次告诉前一个同学他所知道的所有内容,最后第一个同学就能猜出是句什么诗了。这个游戏清楚明了的蕴含了递归法——递推和回归。前面学习了自定义函数,这个游戏用自定义函数可以这样描述: Private Function what(number) 如果我是最后一个,我就告诉你是什么字; 否则,我问了下一个同学后再一起告诉你 End Function 这个函数的作用就是得到第number个学生知道的字,所以要知道这句诗是什么,就要不停的用这个函数,从而引出,递归法就是函数自己调用自己。通过游戏的引入学生会比较感兴趣,能激发学生学习的积极性。 用简单、典型例题,分析讲解知识 教材上用了兔子繁殖的例题来实现递归法,对学生来说是比较难的,就算是让学生用数学的方法来做,学生也不一定能正确的算出答案,更不用说用刚学习的递归法了,并且在这个程序中用到了在函数中两个同时调用函数自己,那对学生来说就是难上加难了,所以我就用简单、典型的例题来讲解,帮学生一起用递归法来分析问题。例:计算5!。这个题如果让学生用数学来做是非常简单的,人人都会,这样再用递归法来分析就简单了。分析如下:用递归法的思想,5!可以看成(4!*5),4!可以看出(3!*2)……直到最后一定要知道1!等于1。通过图来演示: 图1 根据图1所示,能够分析出,某一个数的阶乘都看以看成是它前一个数的阶乘乘以它自己本身,根据分析能够编写这样的自定义函数,作用是计算某个数的阶乘。代码如下: Private Function s(n As Integer) As Integer If n=1 Then S=1 Else S=s(n-1)*n End if End Function 在这代码中“s=s(n-1)*n”就是再一次的调用了此函数,体现了递归法。下面就是给学生形象地演示这个函数在程序运行时是如何运行的。 图2 从图2显示,学生会觉得很熟悉,在前面学习的程序的基本结构时,学习了循环的嵌套,学生都知道,要内循环都运行完了,再运行外循环;同样的,在函数调用时也是,从内到外,内部的代码运行结束了,再运行外部的代码,如图2所示。 通过上述的分析,讲解,学生会比较容易的掌握递归法。在此,要学生特别注意两点:1、递归分为递推和回归两部分,从图1中能看出;2、递推一定要有结束条件,如例题中的If n=1 then s=1。为了检验学生的掌握情况,从此题引申两个题目,让学生自主探究完成。一、计算10!;二、计算1+2+3+……+100用递归法实现。 从简到难,完善巩固知识 在学生对递归法有一定掌握的基础上,再来实现兔子繁殖的问题。要用递归法来实现此问题,在自定义函数中要用到两个同时调用函数自己。例:有人养了一对兔子,这对兔子以后每月生一对兔子,新生兔子从第三个月开始,也是每月生一对兔子,问12个月后这人有多少对新生兔子?通过分析,能得出这样一个数列,数学上也称为斐波那契数列:1,1,2,3,5,8…… 学生自己

您可能关注的文档

文档评论(0)

gz2018gz + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档