北京邮电大学微机原理与接口技术实验学院:班级:学号:班内序号:姓名:1.实验任务一个学生的信息包括姓名、班级、学号(班内序号)、成绩。试编写程序实现以下功能:(1)能录入学生成绩(十进制形式);提示:输入形如:tom2051695回车,每名学生用一行;选择一个特殊符表示输入结束(2)能按要求(如班内序号或成绩)进行排序显示;(3)能统计平均成绩;(4)能按分数段统计人数,不及格、60~70、70~80、80~90、90~100各分数段的人数。提示:要有必要的提示信息。应该按至上而下规划程序结构,划分各个子程序的功能和调用关系。要求写出实验报告,报告中包括算法思想、流程图,并附上源程序文件提交方式采用电子文档:以附件的形式发到以下邮箱,附件命名规则为:班号-姓名-学号.docx、班号-姓名-学号.asm,例:205-张三最后截止日4月28日23点前2.算法思想首先输入学生人数,输入数据位1~99,输入超出该范围时调用ERROR函数,提示错误,回车后退出DOS界面。程序利用INPUT函数,对学生信息的输入进行提示,由于后面要对成绩进行一系列处理,为简便起见,将班级、学号、姓名分为一次输入,成绩单独输入。子程序STORE_STUDENT_NUM用于储存输入学生总人数,在下面的操作中会用于执行次数的相关操作。这个函数的算法思想如下:用NUMBER(三字节变量)储存输入学生总数,若输入为一位数,将输入的字符(ASCII码)存在NUMBER[0]中,如果输入学生人数为两位数,则将十位数(ASCII码)存到NUMBER[1]中,个位数存在NUMBER[0]中,再利用二进制转十进制操作,将学生总数存在NUMBER[2]中。子程序STORE_STUDENT_INFORMATION用于存储学生班级、学号、姓名信息。算法思想:INFORMATION,用20字节单元表示学生信息,0-19中:0对应最大字符,1对应实际输入,2-18对应输入信息,19对应'$'每个存储单元的最后一个字节置为’$’以便输出。子程序STORE_STUDENT_GRADE用于存储学生分数。算法思想:GRADE[0-4]中存放了输入的成绩,GRADE[5]中存放了小数点之前的数字信息,GRADE[6]中存放了小数点之后的数字信息。子程序SORT使用冒泡排序按照成绩从高到低的顺序对学生信息进行排列。算法思想:利用冒泡排序,每次从两个相邻学生信息中找出成绩较高的一个,若其位置靠后,则将其与其之前的一项相交换,每趟都比较信息数目与当前趟次数,直到所有的成绩信息排序完成。子程序FIND_RESULT,对分数所属分数段进行判定,并统计每个分数段人数。算法思想:遍历整个存储信息表,判断分数所属分数段,并在此过程中记录总成绩,计算平均成绩。子程序DISPLAY用于将排序好的学生信息按排序输出。算法思想:遍历排序完成后的存储信息表,并逐个输出。子程序SHOW用于将分数输出。算法思想:判断分数位数,分别将每一位输出。3.流程图:NY4.实验截图程序开始输入学生人数错误提示大于0小于100CALLDISPLAYCALLSTORE_STUDENT_INFORMATIONCALLSTORE_STUDENT_GRADECALLSORTCALLFIND_RESULTCALLSTORE_STUDENT_NUM输入学生信息