计算比赛成绩 汇编语言课程设计报告书Word格式.docx

上传人:b****5 文档编号:16433749 上传时间:2022-11-23 格式:DOCX 页数:11 大小:51.18KB
下载 相关 举报
计算比赛成绩 汇编语言课程设计报告书Word格式.docx_第1页
第1页 / 共11页
计算比赛成绩 汇编语言课程设计报告书Word格式.docx_第2页
第2页 / 共11页
计算比赛成绩 汇编语言课程设计报告书Word格式.docx_第3页
第3页 / 共11页
计算比赛成绩 汇编语言课程设计报告书Word格式.docx_第4页
第4页 / 共11页
计算比赛成绩 汇编语言课程设计报告书Word格式.docx_第5页
第5页 / 共11页
点击查看更多>>
下载资源
资源描述

计算比赛成绩 汇编语言课程设计报告书Word格式.docx

《计算比赛成绩 汇编语言课程设计报告书Word格式.docx》由会员分享,可在线阅读,更多相关《计算比赛成绩 汇编语言课程设计报告书Word格式.docx(11页珍藏版)》请在冰豆网上搜索。

计算比赛成绩 汇编语言课程设计报告书Word格式.docx

3.程序精炼,结构清晰。

4.设计报告5000字以上,含程序设计说明,用户使用说明,源程序清单及程序框图。

5.上机演示。

6.按学号顺序选课题号,并在规定的时间内独自完成相关课题的汇编源程序编写、调整和运行。

源程序及编译生成各文件均保存在软盘中;

7.按本任务书的要求,按附录的要求编写《课程设计报告》(Word文档格式)。

并用A4的复印纸打印并装订;

二、进度安排

第1周:

星期1

星期2

星期3

星期4

附:

课程设计报告装订顺序:

封面、任务书、目录、正文、评分、附件(A4大小的图纸及程序清单)。

正文的格式:

一级标题用3号黑体,二级标题用四号宋体加粗,正文用小四号宋体;

行距为22。

正文的内容:

一、课题的主要功能;

二、课题的功能模块的划分(要求画出模块图);

三、主要功能的实现(至少要有一个主要模块的流程图);

四、程序调试;

五、总结;

六、附件(所有程序的原代码,要求对程序写出必要的注释)。

正文总字数要求在5000字以上(不含程序原代码)。

一、题目

编制一计算比赛成绩的程序,要求完成以下功能:

(1)9名评委,每个评委给分范围为0~10(整数);

(2)9名评委给分中,去掉一个最高分和一个最低分,剩余7名评委的平均分即为参赛者的得分(精确到小数点二位);

(3)将得分在光标位置处显示出来。

二、程序总体设计方案、思路

1.1.总体设计方案

通过读取依次从键盘输入的9个两位的十进制数得分,将得分保存在字符串中,然后用冒泡法将9个数的位置按大小重新排列并输出,再将中间的7个数累加起来除以7,即得到去掉最高分和最低分之后的平均分,最后设置光标位置到平均分处。

1.2.设计思路

通过记录键盘,将ASCII码转化为二进制数寸入长度为9的字符串中,此部分使用用循环结构。

若输入的两位数的首位,即十位,非0或非1,则提示错误并要求重复输入,若输入的个位数非0~9中的数,则提示错误并要求重复输入。

用冒泡法重排9个数,使得第1和第9个数分别为最大数和最小数,并在屏幕中依次显示出来。

然后用循环语句求出9个数中中间的7个数的和,即总得分,若总得分为70分,则直接输出平均分:

10.00分。

若小于70分则将总得分除以7,得到的商作为平均分的个位数,输出一个小数点,将余数乘以10再除以7,如此循环3次,后两次不输出小数点,得到精确到小数点后两位的平均的分数,再将平均分输出。

最后改变光标位置为平均得分处。

三、程序设计框图

YES

NO

四、源程序清单

DATASEGMENT

BUFDB10DUP(0)

STRING1DB'

Pleaseenterthescore'

NUMBERDB31H,'

:

'

'

$'

STRING2DB0AH,'

Therangedscoresare:

'

STRING3DB'

Afterremovingthehighestandlowestscore,theaveragescoreis:

ERRORDB'

ERROR'

0AH,0DH,'

DATAENDS

CODESEGMENT

ASSUMECS:

CODE,DS:

DATA

START:

MOVAX,DATA

MOVDS,AX

XORSI,SI;

SI置0

MOVCX,9;

9个数

INPUT:

LEADX,STRING1

MOVAH,9

INT21H

MOVAH,1

INT21H;

输入得分的十位到AL

CMPAL,'

0'

JBER;

AL<

0小于则跳到ER

1'

JAER;

AL>

1则跳到ER

SUBAL,30H

MOVDL,10

MULDL;

十位乘以10

MOVDX,AX;

DX存十位数

输入得分的个位到AL

9'

10则跳到ER

ADDAL,DL;

个位十位相加到AL

MOVBUF[SI],AL

INCSI

INCNUMBER

MOVDL,0AH;

换行

MOVAH,2

MOVDL,0DH;

回车

LOOPINPUT;

循环输入9次

JMPRANGE_0;

转入排序

ER:

;

输入错误后返回重新输入

LEADX,ERROR

MOVAH,9

JMPINPUT

RANGE_0:

MOVBX,1

MOVCX,9

XORDI,DI

RANGE:

MOVAL,BUF[DI]

CMPAL,BUF[DI+1]

JAENEXT_1

XCHGBUF[DI+1],AL

MOVBUF[DI],AL

MOVBX,0

NEXT_1:

INCDI

LOOPRANGE

CMPBX,0

JERANGE_0

冒泡法排列得分

LEADX,STRING2

SI清零

RANGE_OUTPUT:

输出排序后的得分

MOVDL,BUF[SI]

ADDDL,30H

CMPDL,39H;

判断是否是10分

JATENS_1

JBETENS_0

TENS_1:

十位数为1,则输出'

10'

MOVBX,1

MOVDL,'

INT21H

MOVDL,'

JMPNEXT_2

TENS_0:

十位数为0,则按原得分输出

NEXT_2:

LOOPRANGE_OUTPUT

LEADX,STRING3

MOVAH,9H

MOVCX,7;

累加中间7个数字

XORAX,AX

DECSI

SUM:

求7个分数的和

DECSI

ADDAL,BUF[SI]

LOOPSUM

CMPAL,46H

JAEFULL_MARK

JMPN_FULL_MARK

FULL_MARK:

满分时

MOVAH,2H

.'

JMPENDING

N_FULL_MARK:

非满分时

MOVCX,2

MOVBH,1;

小数点只出现1次

DIVISION:

MOVBL,7

DIVBL;

除以7

PUSHAX

ADDAL,30H

MOVDL,AL

CMPBH,0

JEDOT

DOT:

POPAX

MOVAL,AH;

余数存入AL

余数乘以10,结果存入AX

LOOPDIVISION

ENDING:

MOVAH,02

MOVBH,0

MOVDX,0C46H

INT10H;

设置光标位置

MOVAH,1

CODEENDS

ENDSTART

五、程序调试结果

六、设计总结

通过课程几天的课程设计,学到了诸多上课学不到的知识,特别是体会到了汇编语言与高级程序语言编程的不同,起初非常不适宜汇编语言的编程,高级程序语言中的基本功能,入多重循环和套嵌,在汇编语言看来缺是相当复杂的,还有数字的输入和输出都要经过ASCII码与二进制的转换,数据的定义少得可怜,这些特性都让起初的我感到寸步难行。

但是进过进一步的上机操作和学习,汇编语言开始变得明朗起来。

此次程序设计虽然收获不小,也留有许多遗憾,如程序没有能够对输入得分大于10分的错误操作做出提示,结果的平均分的百分位在某些时候存在误差,有可能是因为程序中数据是以字节形式存储的,字符长度太短导致误差,也有可能是因为求小数的方法导致的。

总的来说这次课程设计虽然遇到了一些比较麻烦的问题,但还算比较顺利,经过一些讨论和修改,一个完整并且能达到要求的程序总算是写好了,过程虽然有点坎坷,可是收获也颇丰,通过这次课设让我对课本基础知识有了一个系统的掌握,而且对课题设计的思路也有了比较清晰的认识,让我对汇编的了解更加深刻。

计算机科学与技术系课程设计评分表

课程名称:

项目

评价

设计方案的合理性与创造性

设计与调试结果

设计说明书的质量

答辩陈述与回答问题情况

课程设计周表现情况

综合成绩

教师签名:

日期:

(注:

1.此页附在课程设计报告之后;

2.综合成绩按优、良、中、及格和不及格五级评定。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > PPT模板 > 艺术创意

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

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