ImageVerifierCode 换一换
格式:DOCX , 页数:12 ,大小:44.71KB ,
资源ID:29950257      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/29950257.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(递归方法求斐波那契函数FIBN.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

递归方法求斐波那契函数FIBN.docx

1、递归方法求斐波那契函数FIBN微机原理实践课程设计报告题目:递归方法求斐波那契函数FIB(N) 专业: 计算机系 班级: 学号: : 指导教师: 胡美娇 完成日期:2013年 1 月 1 日一、课程设计目的1、 加深对汇编语言理论和基本知识的理解, 掌握DOS和BIOS系统功能调用,掌握运用汇编语言设计具有一定功能的软件的基本方法.2、 通过编写一定规模和难度的程序,进行一次较全面的汇编编程训练,提高分析问题和解决问题的能力3、 提高调试程序的能力二、课程设计容递归方法求斐波那契函数FIB(N)要求:从键盘输入数N, 当N=0,1时,FIB=1 ;当N=2时,FIB=FIB(N-1)+FIB(

2、N-2),结果用十进制输出。要求:具有友好的交互界面,建立主菜单界面:*Display Program* input number n: the FIBN=三、课程设计过程1、算法设计(画出算法流程图)2、程序代码清单DATA SEGMENT NUM DW ? GRADE DW 2(?) MESS1 DB ,0AH,0DH,0AH,0DH,*Display Program* MESS2 DB ,0AH,0DH, INPUT NUMBER N:$,0AH,0DH, MESS3 DB 0AH,0DH,FIB(N)=$ MESS4 DB INPUT ERROR! $ MESS5 DB ,0AH,0D

3、H, INPUT NUMBER N: DB 0AH,0DH,N=$ DATA ENDSPROGNAM SEGMENT MAIN PROC FAR ;主程序入口ASSUME CS:PROGNAM,DS:DATASTART: PUSH DS SUB AX,AX PUSH AX MOV AX,DATA MOV DS,AX LEA DX,MESS1 MOV AH,09 INT 21H L1: LEA DX,MESS5 MOV AH,09 INT 21H MOV BX,0 ;显示欢迎主界面 NEWCHAR: MOV AH,01H ;键盘输入,每个数据以回车结束 INT 21H CMP AL,13 JE

4、LEE01 SUB AL,30H ;转移 JL ERROR CMP AL,9D ;AL中的数与取来的数据比较 JG ERROR CBW XCHG AX,BX ;交换指令 MOV CX,10D MUL CX XCHG AX,BX ADD BX,AX JMP NEWCHAR ;无条件跳转 ERROR: LEA DX,MESS4 MOV AH,09 INT 21H ;中断 JMP L1 RET LEE01: MOV NUM,BX MOV SI,0 MOV AX,0 CALL FIB(N) ;段直接过程调用 LEA DX,MESS3 MOV AH,09 INT 21H PUSH BX ;将相关信息压入

5、栈里 PUSH CX PUSH SI PUSH DI MOV BX,GRADESI MOV CX,10000D CALL DEC_DIV MOV CX,1000D CALL DEC_DIV MOV CX,100D CALL DEC_DIV MOV CX,10D CALL DEC_DIV MOV CX,1D CALL DEC_DIV POP DI POP SI POP CX ;将相关信息弹出栈 POP BX JMP L1 RET MAIN ENDP DEC_DIV PROC NEAR MOV AX,BX MOV DX,0 DIV CX MOV BX,DX MOV DL,AL ;结果要放在dl中

6、ADD DL,30H MOV AH,02H INT 21H RETDEC_DIV ENDPFIB(N) PROC NEAR CMP NUM,0 ;num为0转到L2 JE LEE02 CMP NUM,1 ;num自减1 JE LEE02 DEC NUM CALL FIB(N) MOV AX,GRADESI MOV BX,GRADESI-2 MOV GRADESI-2,AX ADD AX,BX ;进行加法运算 MOV GRADESI,AX JMP LEE03LEE02: MOV GRADESI,1 ADD SI,2 MOV GRADESI,1LEE03: RETFIB(N) ENDPPROGNA

7、M ENDSEND START 3、调试过程(包括实验过程中实验步骤,出现的问题,解决的方法,使用的实验数据等)步骤:首先是先对递归函数的了解,然后分成三种情况,一种是输入的是0和1的情况,一种是输入的是其他数字,最后一种是输入的不是数字,最后对各种情况进行设计。出现的问题:刚开始只能输入单个字符,一输入一个数字就开始进行判断解决的方法:后面采用了用回车键来判断一段数据输入完毕使用的实验数据:本函数所使用的数据都为数字4、 系统运行结果截图欢迎主界面 运行及结果 5、结果分析用一组数据来检测程序是否正确NUM=0时输出FIB(N)=1 NUM=1时输出FIB(N)=1 NUM=30时输出FIB

8、(N)=35549 NUM=A时输出INPUT ERROR! NUM=$时输出INPUT ERROR! 经过计算以上结果都是正确的,所以程序是正确的四、课程设计体会 通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固。 这次课程设计终于顺利完成了,在设计中遇到了很多编程问题,同时,在老师的身上我学得到很多实用的知识,在次我表示感!同时,对给过我帮助的所有同学和各位指导老师再次表示 忠心的感!

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1