资源描述:
《求Fibonacci数程序设计》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、学号0120810680134课程设计题目求Fibonacci数程序设计学院计算机科学与技术学院专业班级软件工程0801班姓名李翊华指导教师王云华2011年1月6日-13-目录1.课程设计任务书………………………………………………12.设计目的、内容、时间………………………………………22.1设计的时间………………………………………………..22.2设计的内容………………………………………………..22.3设计完成时间……………………………………………..23.设计环境与工具………………………………………………24.程序设
2、计算法说明……………………………………………25.程序框图………………………………………………………36.程序代码………………………………………………………47.运行结果记录…………………………………………………88.设计结果测试、分析………………………………………...119.参考文献……………………………………………………..1110.评分表……………………………………………………..…12-13-课程设计任务书学生姓名:李翊华专业班级:软件0801班指导教师:王云华工作单位:计算机学院题目:求Fibonacci数程序
3、设计初始条件:DOS操作系统。编辑,汇编,连接,调试工具:edit、masm、link、debug要求完成的主要任务:程序接受用户键入的n值(1~100),根据给定的n值(注意处理非法n值),计算Fibonacci数。由键盘输入控制值,按“Q”键退出。课程设计报告书写要求:1.封面(使用教务处统一格式)2.报告书目录3.课程设计任务书4.设计目的、设计内容、完成时间5.设计环境与工具6.程序设计算法说明、框图7.运行结果记录8.设计结果测试、分析9.参考文献10.其他11.评分表12.封底时间安排:课程设计时间为18周一周
4、。指导教师签名:2011年1月6日系主任(或责任教师)签名:2011年1月6日-13-2.设计目的、内容、时间安排2.1设计目的:通过该课程设计,熟悉计算机体系结构,DOS的操作系统的功能调用,能较为熟练的运用汇编语言进行程序的编写。进一步了解汇编语言控制计算机硬件的方法,提高应用汇编语言编写程序的能力。2.2设计内容:程序接受用户键入的n值(1~100),根据给定的n值(注意处理非法n值),计算Fibonacci数。由键盘输入控制值,按“Q”键退出。2.3时间安排:2011年1月1日-7日(第18周)地点:鉴主10楼软件
5、实验室。3.设计环境与工具DOS操作系统、文本编辑器MASM.EXE、LINK.EXE、DEBUG.EXE4.程序设计算法说明程序要求计算Fibonacci数列的前n项,并把第n项的结果显示在屏幕上,因此在程序运算过程中,主要的部分就是Fibonacci数列的前n项的值计算出来,并且以十进制的方式将第n项的值显示在屏幕上。4.1计算前n项的值输入n的值后,先判断是否是数值。如果是Q或q,则显示已退出提示,退出程序。如果是其他字符,则显示输入错误的信息,提示重新输入。如果是数值,则进入后面的计算步骤。将输入的数值存入cx中,
6、如果数值小于等于2,则直接输出结果。否则,就以cx-2作为外循环,把两个数相加,将尾数与高位开储存,直至循环结束。4.2将转化成十进制在存储时,是将相加后的结果多次除以10后-13-,余数和商数先后进栈存储。在输出时,要求以十进制输出。则先判断高位是否为0,为0则出栈但不输出,从下一位开始依次输出,并显示。显示结果就是要求的第n项的十进制结果。2.设计框图主流程图开始初始化寄存器输入数据将结果显示输出将数放到cx中显示已退出提示提示输入错误al=Q?al=q?al=其他字母或符号?cx≤2YYNNYN外循环YN直接输出结果
7、结束-13-外循环流程图外循环si=0dl=x[si],dh=result[si],内循环次数=25result[si]=dh+dlx[si]=dhdl>10YNNresult[si]=result[si]-10d,si+1,x[si]+1返回主程序内循环完成?外循环完成?YYN2.程序代码datassegment;此处输入数据段代码resultdb1d,24dup(0)xdb1d,24dup(0)mess1db0dh,0ah,'Pleasechooseadatafrom1to100:','$'mess2db0dh,0ah
8、,'Theresultis:','$'-13-mess3db0dh,0ah,'PressQ/qtoexit.','$'flagdwmesserrordb0dh,0ah,'Inputerror,pleasere-enter.','$'quitdb0dh,0ah,'YouhavetypedQ/qtoexit