好文档 - 专业文书写作范文服务资料分享网站

汇编语言程序设计斐波那契额数列课设报告册

天下 分享 时间: 加入收藏 我要投稿 点赞

学 号:

课 程 设 计

课程名称 设计题目 学 院 专 业 班 级 姓 名 指导教师

汇编语言程序设计 求Fibonacci数列前n项

计算机科学与技术 计算机科学与技术

杨荣英

2011 年 12 月 30 日

课程设计任务书

学生姓名: 专业班级:

指导教师: 杨荣英 工作单位: 计算机科学与技术学院 题目: 求Fibonacci数列前n项 初始条件:

理论:完成了《汇编语言程序设计》课程,对微机系统结构和80系列指令系统有了

较深入的理解,已掌握了汇编语言程序设计的基本方法和技巧。

实践:完成了《汇编语言程序设计》的4个实验,熟悉了汇编语言程序的设计环境并

掌握了汇编语言程序的调试方法。

要求完成的主要任务: (包括课程设计工作量及其技术要求,以及说明书撰写等具

体要求)

进一步理解和掌握较复杂程序的设计方法,掌握子程序结构的设计和友好用户界面的设计。具体的设计任务及要求: 1) 输入要求输出的项数n;

2) 在屏幕上输出Fibonacci数列的前n项; 3) 程序采用子程序结构,结构清晰;

4) 友好清晰的用户界面,能识别输入错误并控制错误的修改。

在完成设计任务后,按要求撰写课程设计说明书;对课程设计说明书的具体要求请见课程设计指导书。 阅读资料: 1)《IBM—PC汇编语言程序设计实验教程》实验2.4 2)《IBM—PC汇编语言程序设计(第2版)》例6.11

时间安排:

设计安排一周:周1、周2:完成系统分析及设计。

周3、周4:完成程序调试,和验收。 周5:撰写课程设计报告。

指导教师签名: 年 月 日 系主任(或责任教师)签名: 年 月 日

1. 设计题目

求Fibonacci数列前n项

2. 设计要求 2.1设计说明

本程序主要是实现计算Fibonacci数列的前n项并且显示在屏幕上,因此在程序运行中,首先要把Fibonacci数列的前n项计算出来,这里的n有用户输入,计算机得到n值后会计算出数列,然后后程序会把得到的前n项显示在屏幕上。

2.2功能要求

首先,我们需要输入要求的Fibonacci数列的项数。 然后,系统把Fibonacci数列前n项显示在屏幕上。 本程序采用数组来存储Fibonacci数列前n项。

2.3原始条件及参数

2.2.1首先,我是先输入要求的Fibonacci数列的项数,如下图:

1,1,2,3,5,8是输入6后求得的Fibonacci数列的前6项,最后通过屏幕打印出来。

2.2.2参数

在这个程序中,主要一个数组存放数据。

3. 设计思路

3.1设计方案及基本流程

3.1.1在开始编程时,对于Fibonacci数列的实现,我们想到了数组,即用数组来存放数列,数组的项长短是由输入的n决定的,而不是事前计算好很长的项,然后由n的大小来打印。

3.1.2其次,在计算Fibonacci数列的项的时候要考虑周到,当输入1或2的时候计算机也要能正确的显示。

3.1.3计算好数列的前n项后要正确的显示在屏幕上,这里用逗号把各项分开,看的时候能够比较明了和清楚。

3.2程序框图

建立Fibonacci数列的前n项并且打印到屏幕上。

开始 保护堆栈,设置段寄存器为当前值 输出提示文字并输入n值 调用计算Fibonacci数列子程序。利置数组前2项为(1,1) 用公式F(n)=F(n-1)+F(n-2),计算的结果直接存入数据段的数组 Y N>2? 屏幕打印数组的前N 项 N 屏幕打印数组值 结束

4. 程序清单

以下为完整的源程序。

datarea segment

string1 db 'please input the number: ',13,10,'$' string2 db 13,10,'here is:',13,10,'$' Buffer db 4

db ? db 4 dup(?)

number db ? mulfact db 1 fei db 254 dup(?) datarea ends codearea segment main proc far ; ; ; ; ; ; ;

assume cs:codearea,ds:datarea push ds sub ax,ax push ax

mov ax,datarea mov ds,ax lea dx,string1 mov ah,09 int 21h lea dx,Buffer mov ah,0ah int 21h call convertnum mov al,number lea dx,string2 mov ah,09 int 21h call init mov al,Buffer+1 and ax,00ffh mov si,ax call outputfei mov fei[si+1],24h lea dx,fei mov ah,09 int 21h ret start:

main endp

1aj3l78ygt6c4rp7potn
领取福利

微信扫码领取福利

微信扫码分享