汇编软件实验学生成绩输入.doc

汇编软件实验学生成绩输入.doc

ID:56518541

大小:31.50 KB

页数:4页

时间:2020-06-26

汇编软件实验学生成绩输入.doc_第1页
汇编软件实验学生成绩输入.doc_第2页
汇编软件实验学生成绩输入.doc_第3页
汇编软件实验学生成绩输入.doc_第4页
资源描述:

《汇编软件实验学生成绩输入.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、微机原理实验报告实验任务:一个学生的信息包括姓名、班级、学号(班内序号)、成绩。试编写程序实现以下功能:(1)能录入学生成绩(十进制形式);提示:输入形如:tom2051695回车,每名学生用一行;选择一个特殊符表示输入结束(2)能按要求(如班内序号或成绩)进行排序显示;(3)能统计平均成绩;(4)能按分数段统计人数,不及格、60~70、70~80、80~90、90~100各分数段的人数。实验实现过程与方法:将输入的学生信息保存在一个一维数组中,在数据段中变现为:STUDENTDB256DUP('');存储学生信息在信息的存储过程中直接把输入的字符串

2、存储至STUDENT中,姓名,班级,班内序号,成绩各属性之间以空格分开,来标识不同的属性。每一个功能都用一个子程序来完成,在主程序中直接调用实现相应的功能。所以主程序为:CODESEGMENTASSUMECS:CODE,DS:DATA,SS:STACKSTART:MOVAX,DATAMOVDS,AXMOVAX,STACKMOVSS,AXMOVSP,100HCALLINPUT_PRO;调用输入子程序CRMOVDX,OFFSETMESSAGEMOVAH,09HINT21HCALLDISPLAY_PRO;显示学生输入信息CRCALLNUMBERSORT_P

3、RO;按学号升序排列CALLSUM_PRO;求出成绩总和CALLGRADESORT_PRO;按成绩降序排列CALLAVERAGE_PRO;调用平均成绩子程序,并以字符串显示出来CALLTHEGRADE_PRO;各个成绩段的人数统计MOVAH,4CHINT21HCODEENDSENDSTART其中CR是一个宏,用来实现回车换行的功能,INPUT_PRO实现成绩等学生信息的输入并存储起来,DISPLAY_PRO用来在窗口显示学生的信息,NUMBERSORT_PRO是按学生班内序号由小到大排序,GRADESORT_PRO是按学生成绩由大到小排序,AVERA

4、GE_PRO是求出学生的平均成绩并以字符串的形式显示出来,THEGRADE_PRO则是最后用来统计各个分数段的学生的人数。下面来介绍各个子程序相应的算法及流程图:输入子程序:输入形如:tom2051695回车,每名学生用一行;选择一个特殊符表示输入结束的INPUT_PRO,给每一个学生在STUDENT中划分14字节用来存储学生信息,STUDENT0-STUDENT2字节用来存学生姓名,STUDENT4-STUDENT6用来存学生的班级,STUDENT8-STUDENT9用来存班内序号,STUDENT11-STUDENT13用来存储学生成绩。剩余的存储

5、空间存储的都是空格,以把各个属性分开来,用于后面把各要素显示出来。一个学生信息依顺序输入并存储,然后循环,用输入的字符判断是否继续循环。为了后面的判断,所有信息输出完之后在STUDENT末尾加一个回车0DH显示子程序:使用02H中断显示字符,把一个STUDENT中的信息显示出来,一个学生显示完之后判断后面学生的第一个字符是否是0DH,如果不是就继续显示,并且学生数加1,学生数的初值设为1,否则结束循环,退出该子程序。学生数加1学号排序子程序:由于学号是按字符的形式存入STUDENT中的,所以可以直接进行比较比较STUDENT8和STUDENT9,若学

6、生只有一位即下一位的第一位是0DH,结束程序,否则先比较STUDENT8表示十位数,若相等再继续比较STUDENT9,即采用冒泡排序方法重新对STUDENT排序,排序结束后调用显示子程序显示出排序结果流程图:成绩排序子程序:先调用求和子程序SUM_PRO把成绩字符转换为十进制数保存在SCORES中,把总和保存在SUM中,从开始比较SCORES中的数,若前一个比后一个小则交换,采用冒泡排序,比较完之后调用显示子程序显示排序结果流程图:求均值子程序:由求和子程序求出总和SUM,又已知学生的总数STUDENTNUMBER便可以直接求出平均值,再调用DEVD

7、IV转换为字符显示出来。流程图:成绩统计子程序:扫描学生信息的成绩,如果该学生信息的第一位为0DH,退出程序,否则到成绩的第三位,若不为空格则90-100即A加1,若第一位小于6,则小于60即E加1,否则若第一位小于7,则60-70即D加1,否则若第一位小于8,则70-80即C加1,否则若第一位小于9,则80-90即B加1,否则90-100加1流程图:实验结果:下面以一个例子来展示整个程序执行过程:姓名班级班内序号成绩jsd2431078n2230059cdfd2341898dsop2342691df2342983sa6750980oi3451473

8、ieo2353069eod24505100输入的截图:输入后显示的截图按学号排序的截图:按成绩排序,平均成绩

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。