基于汇编语言的递归算法教学设计探讨.pdfVIP

基于汇编语言的递归算法教学设计探讨.pdf

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

教育与教学研究 Computer Education 文章编号:1672-5913(2008)22-0159-02 基于汇编语言的递归算法教学设计探讨 1 2 田祖伟 ,孙 光 (1.湖南第一师范学院 信息技术系,长沙 410205;2.湖南财经高等专科学校 信息管理系,长沙 410025) 摘 要:本文根据作者多年的教学和软件开发经验,从递归的定义出发,通过对一个汇编语言递归子程序的 剖析,详细分析了递归调用在类推和返回过程中堆栈的变化,从汇编语言的角度讨论了递归的本质和特点, 这对学生正确理解和应用递归解决实际问题有很好的参考价值。 关键词:汇编语言;递归;堆栈;子程序;嵌套调用 中图分类号: 文献标识码: G642 B 汇编语言是一种低级语言,是机器指令的符号化表 到内存空间用完为止。递归调用分两个阶段: 示,描述了机器最终要执行的指令序列,也是人与机器最 第一阶段:递推。将原问题不断分解为新的子问题, 直接的沟通语言。高级语言大都编译为汇编指令,最终转 逐渐从未知向已知推进,最终达到已知条件,即递归结束 化为机器指令得以执行,从编译器的角度,也就是从汇编 的条件,这时递推阶段结束。例如求4!可以这样分解: 语言的角度讨论递归,既有助于透彻的理解高级语言的核 4! = 4 × 3! → 3! =3 × 2! → 2! = 2 × 1! → 1! 心原理,又能明晰程序内部的执行过程,更重要的是能够 = 1 × 0! → 0! = 1 获得直接从底层分析问题解决问题的能力,从而真正理解 第二阶段:回归。从已知条件出发,按照递推的逆过 和掌握递归算法。 程,逐一求值回归,最后达到递归的开始处,结束回归阶 段,完成递归调用。例如求 4! 的回归阶段如下: 1 4! = 4 × 3! = 24 ←3! =3 × 2! = 6 ← 2! = 2 × 1! =2 ← 1! = 1 × 0! = 1 ← 0! = 1 一个对象部分地由它自己组成,或者是按它自己定 义,则称为是递归的。递归是一种描述问题的方法,或称 递归分为直接递归和间接递归,如果一个子程序(函数) “ ” 直接调用它自身,即直接递归调用;如果一个子程序(函数) 算法。递归的思想可以简单地描述为 自己调用自己 。例 ( 间接调用它自身,即间接递归。具有递归调用的子程序 函 如用如下方法定义阶乘: 数)称为递归子程序(函数) 。递归调用是嵌套调用的特殊情 n!=n*(n-1)! (n1) 可以看出是用阶乘定义阶乘,这种自己定义自己的方 形,递归调用的本质即是对同一个子程序(函数) 的嵌套调 用。在高级语句中当递归调用发生时,系统自动将

文档评论(0)

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

教师资格证持证人

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

领域认证该用户于2024年04月12日上传了教师资格证

1亿VIP精品文档

相关文档