- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
c语言程序设计函数递归的研究
语言是高效、通用的翻译编程语言。它充满了丰富的功能、表达能力强、描述问题能力强、操作速度快、易用性强、应用广泛、源代码宽、编译易于操作、目标程序质量高、可转换性好、系统硬件和外围接口设备的控制。因此,’语言不仅适用于应用软件的开发,也适用于系统软件的开发。所有这些特点,使得运用’语言进行程序设计已经成为软件开发的一个主流1+2。近年来,’语言无论在国内还是国外都得到了迅速推广。目前,中国所有高等学校基本上都开设了《’语言程序设计》这门计算机高级语言学科。
’语言功能强、使用灵活,但是普遍认为’语言比较难学,学习和使用’语言需要有一定的硬件知识和软件基础知识,不太熟悉’语言的程序员常常出错而不知其所以然1*2。在讲授’语言程序设计中,函数的递归是相当难教、难学、难理解的重点内容。如果老师在讲授中不用心思考,不讲究方法,平铺直叙,照本宣科。这样的教学,学生很难理解,不易接受。最后,一知半解,形成了学习《’语言程序设计》中的障碍,甚至放弃学习这门学科。这样,不但没有达到发挥函数递归的简洁高效的作用,反而成了《’语言程序设计》教学中的拦路虎。针对这种情况,首先要消除学习者的畏难心理,激发他们的学习兴趣。然后,总结别人的经验,发挥出让学生好理解,易接受的讲授方法,轻松顺利的完成《’语言程序设计》教学中函数递归的阶段性教学。
,函数的递归调用教学中出现的问题
在函数递归调用这一部分教学中,很多老师就书本上的概念来讲解,不把教学内容与生活实际相联系,不注意细节,或者是没有方法讲清楚函数递归调用的全过程。现在以讲授用递归方法求34的例题为例分析教学中出现的问题。
例:用递归方法求34
程序如下:
在讲授到被调用函数-%9(’+’)
这个递归函数时,学生认为’最后总是要到降到@的,这时,通过-(’--C.’--@)-@,语句,而不执行4.84-’$-%9(’F@),这个语句,最后执行24+32’(-),语句,最终返回的值是@,没办法求出’?。
这种理解是错误的,这是学生没有真正理解函数调用时,编译程序在调用函数开始调用的位置做了现场记录,保留了调用前的信息,当调用结束后再将被调用函数的结果返回到调用函数的调用语句的位置,再继续执行后面的程序。有的同学在实验室调试出结果后,也不清楚整个函数的递归调用过程。出现这种情况,老师怎样才能给学生讲解清楚呢?这需要老师认真思考、仔细研究,改变传统教学方法,采取具有技巧、策略的讲授方法,才能让学生比较清楚的理解。
G技巧性的教学方法
笔者通过了几次采用不同的方法讲解,多次研究。总结出了比较通俗易懂,比较切合实际的讲授方法。
假如’G,求G?。
$%’()中
第一次-%9()函数中’G
第二次-%9()函数中’H
第三次-%9()函数中’@
即:最后)*+,)-.#/(语句返回的值是!1 2,得到正确的结果,但是理解起来还是不怎么容易。这时我们把#34.%/(语句、#34./(语句和#34.’/(语句都带进整个被调用函数的代码进去,情况就大不一样了,这样就直观、明了、显而易见。过程如下:
上面是回推的过程。
现在再回过头来看递推的过程:
由上面回推的最后一个过程,即:5$#34.-/(-$’时的过程递推得:
由上面回推的倒数第二个过程,即:2-(67)34-8时的过程递推得:
由上面回推的倒数第三个过程,即:2-(67)34-D时的过程递推得:
最后输出结果:
能理解D,的递归调用1也就不难理解,)F D3的递归调用。通过这样讲授,学生就能完全理解函数递归调用的过程。
G结束语
在软件工程已经被公认为一门重要学科的今天,面向过程程序设计方式还没有退出程序和学习的重要课程。笔者希望得到各位同仁的理解和支持,一起讨论《H语言程序设计》的教学方法,通过教学实践,把教学经验、心得体会,设计的优秀程序写出来,让大家一起学习、探讨,提高教学质量。
文档评论(0)