微机编程-学生成绩排名
c语言程序设计课程设计选题 (1)

《C语言程序设计》课程设计课题表一、A类1.职工信息管理系统设计2.职工信息包括职工号、姓名、性别、年龄、学历、工资、住址、电话等(职工号不重复)。
试设计一职工信息管理系统,使之能提供以下功能:3.1、职工信息录入功能(职工信息用文件保存)--输入4.2、职工信息浏览功能--输出5.3、职工信息查询功能--算法6.查询方式:按学历查询、按职工号查询、条件组合查询7.职工信息删除、修改功能(可选项)8.图书信息管理系统设计9.图书信息包括:登录号、书名、作者名、分类号、出版单位、出版时间、价格等。
10.试设计一图书信息管理系统,使之能提供以下功能:11.1、图书信息录入功能(图书信息用文件保存)--输入12.2、图书信息浏览功能--输出13.3、图书信息查询功能--算法14.查询方式:按书名查询、按作者名查询、条件组合查询15.图书信息的删除与修改(可选项)16.图书管理系统设计17.图书管理信息包括:图书名称、图书编号、单价、作者、存在状态、借书人姓名、性别、学号等18.功能描述:19.1、新进图书基本信息的输入。
20.2、图书基本信息的查询。
21.3、对撤消图书信息的删除。
22.4、为借书人办理注册。
23.5、办理借书手续。
24.6、办理还书手续25.要求:使用文件方式存储数据。
26.实验设备管理系统设计27.实验设备信息包括:设备编号,设备种类(如:微机、打印机、扫描仪等等),设备名称,设备价格,设备购入日期,是否报废,报废日期等。
28.主要功能:29.1、能够完成对设备的录入和修改30.2、对设备进行分类统计31.3、设备的破损耗费和遗损处理32.4、设备的查询33.要求:使用文件方式存储数据。
34.学生信息管理系统设计35.学生信息包括:学号,姓名,年龄,性别,出生年月,地址,电话,E-mail等。
试设计一学生信息管理系统,使之能提供以下功能:36.1、系统以菜单方式工作37.2、学生信息录入功能(学生信息用文件保存)--输入38.3、学生信息浏览功能--输出39.4、学生信息查询功能--按学号查询、按姓名查询、40.5、学生信息的删除与修改(可选项)41.要求:使用文件方式存储数据。
学校微机教师工作的自我总结5篇

学校微机教师工作的自我总结5篇篇1时光荏苒,转眼间,我作为一名学校微机教师已经工作多年。
回顾过去,我深感自己的工作充满了挑战与机遇。
在这篇自我总结中,我将对过去的工作进行梳理和反思,以便更好地规划未来的发展方向。
一、工作成绩与亮点1. 教学内容创新:在微机课程教学中,我注重培养学生的实际操作能力和创新思维。
通过引入新技术、新软件,我不断更新教学内容,确保学生能够接触到最新的计算机知识。
同时,我鼓励学生自主探索、勇于实践,激发学生的创新热情。
2. 教学方法多样:我积极采用多种教学方法,如项目式教学、案例教学等,激发学生的学习兴趣和积极性。
此外,我还运用多媒体手段,如课件、视频等,丰富教学手段,提高教学效果。
3. 课外活动丰富:我组织学生参加了多个计算机竞赛和课外活动,如机器人比赛、编程比赛等。
这些活动不仅锻炼了学生的计算机技能,还培养了他们的团队协作精神和创新思维。
二、工作不足与反思1. 课程衔接不够流畅:在课程安排上,我有时未能充分考虑到学生的实际情况和需求,导致课程衔接不够流畅。
为了解决这一问题,我计划在未来的教学中更加注重课程设计和安排,确保学生能够顺利过渡到下一阶段的学习。
2. 实践机会不足:尽管我尽力为学生提供实践机会,但仍有部分学生反映实践机会不足。
为了改善这一状况,我计划与学校其他部门合作,争取更多的实践资源和机会,同时,我也将鼓励学生自主寻找实践机会,提高他们的实践能力。
3. 自身素质有待提高:尽管我具备扎实的计算机专业知识,但仍有不足之处。
为了更好地指导学生,我计划在未来继续学习和提高自己的专业素质,不断更新自己的知识结构,以适应计算机领域的快速发展。
三、未来规划与展望1. 深化教学改革:我将继续深化微机教学改革,创新教学方法和手段,提高教学效果。
同时,我将鼓励学生积极参与课堂讨论和互动,培养他们的独立思考和解决问题的能力。
2. 拓展实践机会:为了提高学生的实践能力,我将积极与学校其他部门合作,争取更多的实践资源和机会。
030731004《微机原理与汇编语言》教学大纲

《微机原理与汇编语言》课程教学大纲课程代码:030731004课程英文名称:Computer Principles and Assembly Language课程总学时: 56 讲课: 44 实验:12适用专业:电子信息科学与技术大纲编写(修订)时间:2010一、大纲使用说明(一)、课程地位及教学目标本课程是电子信息科学与技术专业的必修的专业基础课,主要任务是使学生掌握8088/8086系列汇编程序设计和PC机硬件原理知识,并具有一定的应用能力。
(二)、知识,能力及技能方面的基本要求通过本课程学习,要求学生从理论上和实践上掌握计算机的基本组成、工作原理、硬件的连接等内容,会编写较简单的汇编语言程序,并能利用PC总线进行I/O扩展及编程,建立微机系统的整体概念,使学生具有应用微机系统软硬件开发的初步能力,为后续课程单片机、数字系统设计、ARM等打下理论基础。
(三)、实施说明由于本课程是主要专业基础课,对先修课基础要求较高,在讲授具体内容时,应注重基础原理内容和实际应用介绍,使学生在掌握基本原理的基础上,具有一定解决实际问题的能力。
要提高学生的基本素质和应用能力,必须改变传统的教学手段。
要利用多媒体授课;增加自学讨论部分,使学生从被动吸收知识的状态下,转化到主动索取知识的状态中来。
同时,应不断增加新知识。
总学时:56学时;讲课:44学时;实验:12学时。
(四)、对习题,实验,实践环节的要求本大纲立足于实施素质教育为目标培养的。
习题从教材中选取,按时交作业,编程习题尽量上机验证。
实验强调应用性,学生应独立完成,实验前预习实验内容。
(五)、对先修课程的要求1.计算机导论课程中的计算机数的编码,二、十六进制,BCD,ASCII码;2.数字电子技术课程中的逻辑电路基础。
(六)、考核方式及成绩评定方式1.考核方式:考试。
2.考试方法:闭卷。
3.课程总成绩:最终理论考试与平时考核(包括实验、期中考试、作业、出勤、提问等)的总和。
毕业生管理系统—计算机毕业设计(论文)

毕业生管理系统—计算机毕业设计(论文) 【摘要】本毕业生管理系统是使用VB和ACCESS数据库为开发工具开发的一个全新的管理系统(MIS)。
开发出的软件可以在任何一个装有VB环境的机器上运行。
本毕业生管理系统包括六个子模块:用户登陆模块、学籍管理模块、学生成绩模块、毕业设计选题模块、毕业设计成绩管理模块、系统说明模块。
每个子模块大致可实现的功能有:录入、查询、修改。
本系统设有管理员和普通的用户,管理员可以执行修改操作以确保毕业生信息的准确性。
本论文介绍了这五个子模块的功能、使用方法及流程、使用界面。
具体从系统概述、系统需求分析、总体设计、数据结构、程序流程、技术背景、使用说明、心得体会等几个方面对本管理系统进行了阐述。
本管理系统复杂程度一般,在进行了很多次的测试和修改后可以成功使用。
关键词: VB ACCESS 管理系统第一章毕业生管理概述1.1系统开发的意义计算机已经成为我们学习和工作的得力助手:今天,计算机的价格已经十分低廉,性能却有了长足的进步。
它已经被应用于许多领域,计算机之所以如此流行的原因主要有以下几个方面: 首先,计算机可以代替人工进行许多繁杂的劳动;其次,计算机可以节省许多资源;第三,计算机可以大大的提高人们的工作效率;第四,计算机可以使敏感文档更加安全,等等。
_ 在大中专中用计算机管理学籍信息的意义现在我国的大中专校中学籍的管理水平还停留在纸介质的基础上,这样的机制已经不能适应时代的发展,因为它浪费了许多人力和物力,在信息时代这种传统的管理方法必然被计算机为基础的信息管理所取代。
我作为一个计算机应用的专科生,希望可以在这方面有所贡献。
改革的总设计师邓小平同志说过“科学技术是第一生产力”,我希望能用我四年的所学编制出一个实用的程序来帮助大中专进行更有效的信息管理。
归纳起来,好处大约有以下几点:1( 可以存储学生的基本信息以及历届的学生信息,安全、高效; 2( 只需一到二名信息录入员即可操作系统,节省大量人力; 3( 可以迅速查到所需信息。
java求职自我介绍_java工程师面试个人介绍(精选5篇)

java求职自我介绍_java工程师面试个人介绍(精选5篇)java求职_java工程师面试个人介绍篇1经理你好:我叫,来自河南郑州,刚从离职,我在北京已经两年了,一直从事java软件开发工作,今天来是希望能够获得贵公司的Java工程师岗位,不管今天的结果如何,也都感谢经理您能从百忙中抽出时间来面试我。
我是一名java工程师,1、能独立完成子模块的需求分析过程,并指导后续设计和开发工作。
2、能够遵从上级领导的指示,按照工作进度进行编程。
2;熟悉eclipse/myeclipse/ SVN开发工具,设计、编写和测试模块;3、编写软件产品文档;4、完成上级指派的其它工作。
我在上一家工作了近四年,也参与过不少项目,是有关财务、进销存、人事管理、OA、ERP、电子商务的项目,总体来说都是管理类项目,设计到的新技术也不多。
具备建模相关知识,具有一定的模型设计能力。
在工作期间,参与过需求文档的讨论,文档的撰写,数据库的设计,报表的开发,ETL的处理,以及数据库的运维等等。
当然我自己也有了解过一些热门新技术,像HTML5、物联网技术都有过了解。
这几年来我主要是做j2ee的企业级管理项目,对j2ee这块相当熟悉,掌握ssh,ssi等web框架;熟练掌握主流数据库mysql/oracle,熟悉sql server/designer等设计工具;熟悉tomcat/jboss/glassfish等服务器;熟练掌握前段开发的html/css/js/jquery等前段框架,熟悉html5/css3的新特性,熟悉前端开发工具Dreamweaver/Photoshop;熟练掌握各种插件,如dbcp/c3p0/filed io/smart upload/jxl/jfreechart/json/dbutils等常见开发插件;我在大学也修过管理学,在说除技术之外,我乐观向上,善于与人沟通,所以我认为我还是很有希望留在本公司和大家共处,也希望能有一个展示我能力的地方。
学生成绩管理信息系统-需求规格说明书

编号:详细说明书题目:学生成绩管理信息系统系别:专业:学生姓名:学号:指导教师:年月日目录1.引言 (3)编写目的 (3)项目背景 (3)定义、缩写词和符号 (3)参考资料 (3)2.任务概述 (3)目标 (4)运行环境 (4)条件与限制 (4)3.数据描述 (4)静态数据 (4)动态数据 (6)数据库描述 (6)数据流图 (6)数据字典 (8)4.功能要求 (10)功能划分 (10)功能描述 (10)5.性能需求 (11)数据精确度 (11)时间特性 (11)适应性 (11)6.运行需求 (12)用户界面 (12)硬件接口 (12)软件接口 (12)故障处理 (12)7.其它要求 (12)1.引言编写目的随着高校学生招生规模逐步扩大,教育管理的信息化越来越受到人们的重视。
在高校,各种教育管理信息系统也越来越多,很大程度地提高了教育管理的效率和质量。
因此在完成了针对《学生成绩管理信息系统》市场的前期调查和分析的基础上,提出了这份软件需求规格说明书。
此需求规格说明书对《学生成绩管理信息系统》做了全面细致的用户需求分析,明确所要开发的软件应具有的功能、性能与界面,使学生与教师之间可以实现信息的共享。
还使系统分析人员及软件开发人员能清楚地了解用户的需求,并在此基础上进一步提出概要设计说明书和完成后续设计与开发工作。
本说明书的预期读者为学生、教师、行政人员或需求分析人员、测试人员、用户文档编写者、项目管理人员。
项目背景在各大学校中由于每一年都有许多学生以及教师的更新,所以使得整个学生成绩管理信息系统的文件多,种类多,文件创建者多,创建时间为不定期。
要保护好这些重要的信息变得极为不便,对原有的文件的再现,也显得力不从心,有时查找与重新整理文件要浪费许多的人力、物力。
为了解决这样的问题,让学校能够有效的掌握,有效的共享文件资源,保护好文件,及促进学生信息管理的信息化、规范化和集成化,本人搜索了各方面的意见和信息,努力完善大量实用功能,进而了解文件管理的流程,开发出一套适合于学生成绩管理的信息系统。
微机课设_电子乐谱课程设计
课程设计任务书学生姓名:专业班级:指导教师:工作单位:自动化学院题目: 电子乐曲的播放设计。
要求完成的主要任务:(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)1、用汇编语言实现在PC喇叭上播放一段音乐。
2、设计任务及要求的分析。
3、系统实现的原理说明。
4、软件思想,流程图,源程序及程序注释调试记录及结果分析;总结;参考资料;附录:芯片资料或程序清单。
时间安排:1、课程设计任务书的布置,讲解(一天)2、根据任务书的要求进行设计构思。
(一天)3、熟悉MF2KP中的相关工具(一天)4、系统设计与调试分析。
(两天)5、撰写说明书。
(两天)6、课程设计答辩(一天)指导教师签名:年月日系主任(或责任教师)签名:年月日摘要可以说没有哪一门科学能像计算机科学这样高速发展,有笨重、搞功效。
结构复杂、功能简单、运算速度慢、只有专家才会使用的电子管计算机,发展到集成数百万晶体管、功能强大、价格便宜、普及到千万家的微型计算机,仅仅用了短短几十年时间。
特别是以微型计算机为主的互联网,将世界距离拉的如此之近,使得不出门便知天下事。
尽管计算机发展迅速,但基本原理没有改变,高档微型计算机在速度和技术上有很大突破,但在计算机体系结构上还是遵循冯·诺依曼的思想。
本课程设计是以8086微处理机、8253.8255A等芯片为核心,通过汇编语言实现在PC 喇叭上播放一段音乐。
关键词:微型计算机、发展、汇编语言。
目录1 基础知识 (4)1.1 8253的基本知识 (4)1.2 8253端口地址 (5)1.3 8253控制字 (6)1.4 8253工作方式 (6)2详细设计 (8)2.1设计说明 (8)2.1.1 PC机扬声系统原理 (8)2.1.2 演奏单音符 (8)2.1.4 频率表和时间表 (9)2.1.5各音符对应频率 (9)2.2程序设计 (10)2.2.1程序流程图 (10)2.2.2 程序代码 (11)3 程序调试及结果分析 (16)3.1 程序调试 (16)3.2 结果分析 (16)4 心得体会 (17)5 参考文献 (18)电子乐曲的播放设计1 基础知识1.1 8253的基本知识8254占用4个端口,3个定时器各占1个,控制端口占1 个。
《程序设计础—C程序实验》
思考题:编程,输出以下图形:
*
***
*****
*******
*********
*******
*****
***
*
实验7数组
一、实验目的
1.理解数组的概念,掌握一维数组和二维数组的定义、存储结构、赋值和输入输出的方法。
2.理解字符串的概念,掌握字符数组和字符串函数的使用。
/*ex1.c*/
#include <stdio.h>
main()
{
printf("Hello!\n");
printf("This is C program!\n");
}
试编译、连接、运行该程序,并按Alt+F5查看运行结果。
运行结果是:
2.输入并调试运行以下程序,查看运行结果(由此结果可以了解到在实验用的微型机上,几种数据类型所占的字节数)。
for(i=1;i<5;i++)
{if(i%2)printf("*");elsecontinue;
printf("%");
}
printf("@");
}运行结果是:
2.编程,用公式π/4≈1- + - +…求π的近似值,当某项绝对值小于 时计算结束。
3.输入一行字符,编程统计并输出其中的大写英文字母和数字的个数。
4.详细记录数据的输入、输出信息,按要求写出实验报告。
三、实验内容
1.输入并调试以下程序:
(1)#include<stdio.h>
main()
微机教师工作总结7篇
微机教师工作总结7篇篇1一、背景本年度,作为微机教师,我肩负着培养学生计算机技能的重要职责。
在这一年的教育教学中,我认真履行职责,积极开展各项工作,取得了一定成果。
以下是我本年度工作的详细总结。
二、教学内容与方法1. 教学内容(1)计算机基础操作:本学期,我主要对学生进行了计算机基础操作的教学,包括Windows操作系统、Office办公软件的应用等,确保学生掌握基本的计算机操作技能。
(2)程序设计入门:为培养学生逻辑思维能力及编程能力,我开设了Python程序设计基础课程,让学生从入门到实践,逐步掌握编程技巧。
(3)计算机网络知识:结合当前信息化社会的要求,我重点加强学生的网络知识教育,包括IP地址、DNS解析、网络协议等内容。
2. 教学方法(1)理论授课与实操结合:我在教学中坚持理论与实践相结合的原则,通过理论讲解和操作演示的方式,让学生更好地理解计算机知识。
(2)项目驱动与团队合作:在程序设计课程中,采用项目驱动的教学方法,鼓励学生分组合作完成小型项目,培养学生的团队协作能力和问题解决能力。
(3)线上教学与线下辅导:利用在线教学平台,发布教学视频和资料,方便学生自主学习;同时开设线下辅导时间,解答学生疑问,确保教学效果。
三、工作成效与亮点1. 学生技能提升:通过本学期的教育教学,学生们的计算机基础操作能力和编程能力得到了显著提高,多数学生能够熟练地完成日常办公软件的运用和简单的程序设计。
2. 竞赛成绩突出:在本年度的市级计算机技能竞赛中,我指导的学生取得了优异的成绩,获得了多项个人和团体奖项,展现了学生们的学习成果。
3. 教学创新实践:我积极探索信息化教学手段,运用多媒体、在线教学等方式,提高教学效果。
同时,我还开设了课外兴趣小组,为学生提供更多的学习机会和实践平台。
四、工作反思与改进1. 工作反思:回顾本年度工作,我发现自己在教学方法上还需进一步创新,特别是在激发学生自主学习动力方面还有待加强。
初中微机教师教案
初中微机教师教案一、教学目标1. 让学生掌握微机的基本知识,包括微机的硬件和软件组成、工作原理等。
2. 培养学生熟练操作微机的能力,包括Windows操作系统的使用、常用办公软件的应用等。
3. 提高学生利用微机进行信息检索、处理和交流的能力。
4. 培养学生良好的微机使用习惯和职业道德。
二、教学内容1. 微机的基本概念:计算机的发展史、微机的硬件和软件组成、微机的工作原理等。
2. 操作系统的使用:Windows操作系统的启动、关闭、桌面操作、文件管理、系统设置等。
3. 常用办公软件的应用:Word、Excel、PowerPoint等软件的基本操作。
4. 网络的基本知识:网络的分类、互联网的使用、网络安全等。
5. 信息处理:利用微机进行文字处理、数据处理、图像处理等。
6. 职业道德:计算机伦理、知识产权保护、隐私保护等。
三、教学方法1. 讲授法:讲解微机的基本概念、操作系统的使用、常用办公软件的应用等理论知识。
2. 实践法:学生在微机室进行实际操作,巩固所学知识。
3. 案例分析法:通过分析实际案例,使学生更好地理解微机的应用。
4. 小组讨论法:分组讨论问题,培养学生的合作意识和团队精神。
四、教学安排1. 课时:本课程共安排30课时,其中包括15个理论课时和15个实践课时。
2. 教学进度:按照教学大纲和教材的顺序进行教学,每个知识点安排相应的实践操作。
3. 考核方式:期末进行理论考试和实践操作考试,成绩合格者颁发证书。
五、教学评价1. 学生学习成绩的评价:包括理论成绩和实践成绩,理论成绩占40%,实践成绩占60%。
2. 学生学习过程的评价:包括出勤、课堂表现、小组讨论等,占总成绩的40%。
3. 学生学习成果的评价:通过实践操作考试,检验学生对知识的掌握程度。
六、教学资源1. 教材:选用国内权威的微机教材,如《计算机基础》、《微机应用》等。
2. 微机室:配备足够的计算机,保证学生上课时能够进行实践操作。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
学生成绩名次表设计1000H的存储区中。1000H+i表示学号为i的学生成绩。编写程序使得在2000H开始的区域排出名次表。2000H+i为学号为i的学生的名次。
三、重点程序详解3.1、设计题目:学生成绩名次表设计3.2、设计重点和难点从键盘输入的数据是以ASCII码存放在缓存中的,同样要将缓存中的数据输出来也需要先进行码转换。需要熟练掌握十六进制ASCII码的转换。成绩排名时,用到了第八题的排序,本题中采用一个一个顺次比较,AL中存放最低成绩,SI扫描成绩表,[SI]中的内容与AL中比较,如果比[AL]大,就交换内容,这样可以保证循环结束时,AL所指的内容从大到小排列。3.3、设计思路
1、开辟块存储单元分别存储学生成绩、名次;2、依次输入30个学生成绩到成绩存储区MARK,字符ASCⅡ码转换为数值实现排序。依次存储学号之名次存储区NAMELIST;3、伴随排序由大到小排列成绩,并且同时排列名次;4、排序结果输出显示十进制数字信息转换成ASCⅡ码输出;5、要求输入输出按一定格式,适当插入回车换行。3.4、程序清单DATASEGMENT;定义数据段ENEQU0DH;回车TAEQU0AH;换行
INMARKDB3DB?DB3DUP(?);写入学生分数S1DB'PLEASEINPUTTHEMARK(00-99)',EN,TA,'$'S2DB'STUDENT','$'S3DB'NAMELIST','$'ORG1000H;指定内存位置1000H,存放学生成绩MARKDB30DUP(?);设定学生人数为30人ORG2000H;指定内存位置2000H,存放学生名次NAMELISTDB30DUP(?);学生排名
DATAENDSSTACKSEGMENT;定义堆栈段STACKENDSCODESEGMENT;定义代码段ASSUMECS:CODE,DS:DATA,SS:STACKSTART:MOVAX,DATAMOVDS,AXDISPSTRMACROS;宏定义,显示字符串PUSHAX;DOS功能调用对AX内容存在影响,需保护MOVDX,OFFSETSMOVAH,9HINT21H;DOS系统功能号调用,9号功能调用显示字符串POPAXENDMDISPSINMACROD;宏定义,显示单个字符PUSHAXMOVDL,D;将要显示的字符放入DLMOVAH,02HINT21H;2号功能调用显示单个字符
POPAXENDMENTAMACRO;宏定义,回车换行PUSHAXMOVDL,ENMOVAH,02HINT21H;回车MOVDL,TAINT21H;换行POPAXENDMDISPSTRS1;显示“PLEASEINPUT……”MOVCX,30;学生个数送入CXMOVDI,OFFSETMARKCALLINPUTM;调用输入成绩子程序INPUTMENTAMOVCX,30;排序并生成名次表MOVDI,OFFSETNAMELIST;DI指向名次表首址M1:MOVAX,31SUBAX,CXMOV[DI],AL;名次表从第一名开始INCDILOOPM1;循环一次,计数CX寄存器减一MOVCX,29MOVSI,OFFSETMARK;SI指向成绩表首址
MOVDI,OFFSETNAMELIST;DI指向名次表首址XORBX,BX;基数寄存器BX清零CALLSTOR;调用排序子程序STORDISPSTRS3;显示“NAMELIST”ENTA;排序并生成名次表
MOVCX,30MOVSI,OFFSETNAMELISTMOVDI,OFFSETMARKCALLLIST;调用显示名次表子程序MOVAH,4CHINT21H;结束返回DOSHTOAOPROCNEAR;定义子程序HAOAO;十六进制转ASCⅡ码输出PUSHBXMOVBH,0AHDIVBHPOPBXADDAL,'0'ADDAH,'0'DISPSINALDISPSINAH;显示学号RETHTOAOENDPINPUTMPROCNEAR;定义子程序,输入学生成绩
I1:MOVAX,31SUBAX,CX;CX初始值为30DISPSTRS2;显示“STUDENGT”XORAH,AH;AX高八位清零CALLHTOAO;换码输出学号
DISPSIN':';显示“:”MOVDX,OFFSETINMARK;输入成绩MOVAH,0AHINT21H;DOS功能号调用,输入字符串到缓冲区ENTAMOVSI,OFFSETINMARKADDSI,2;SI指向输入数据MOVBH,[SI];成绩的十位放入BHMOVBL,[SI+1];成绩的个位放入BLSUBBH,'0'SUBBL,'0'MOVAL,0AHXORAH,AH;AX高八位清零MULBH;十位数乘以10再加个位ADDAL,BLMOV[DI],AL;存储成绩INCDILOOPI1RETINPUTMENDPSTORPROCNEAR;排序P1:PUSHCXMOVAH,BLMOVDX,BXINCDX;DX加1指向下一单元MOVAL,[SI+BX];小循环初始化PUSHBXP2:MOVBX,DXCMPAL,[SI+BX]JNBP3;成绩从大到小排列MOVAL,[SI+BX];换成绩MOVCH,[DI+BX];换学号MOVAH,DL;换指针P3:INCDXDECCLJNZP2POPBX;小循环结束MOVDL,[SI+BX];动成绩MOVCL,[DI+BX];动学号
MOV[SI+BX],AL;动成绩MOV[DI+BX],CH;动学号PUSHBXXORBX,BXMOVBL,AHMOV[SI+BX],DL;动成绩MOV[DI+BX],CL;动学号POPBXINCBXPOPCXLOOPP1RETSTORENDPLISTPROCNEARL1:MOVAX,31SUBAX,CXCALLHTOAO;输出名次1、2、3……DISPSIN'';输出空格DISPSTRS2;输出“STUDENT”XORAX,AXMOVAL,[SI]CALLHTOAO;输出学号XORAX,AXMOVAL,[DI]DISPSIN''CALLHTOAO;输出成绩ENTAINCSIINCDILOOPL1RETLISTENDPCODEENDSENDSTART
四、结果分析输入成绩依次显示“STUDENT”、空格、两位数学号、冒号、两位数成绩、回车换行输出结果先输出“NAMELIST”、回车换行再依次输出两位数名次、“STUDENT”、空格、两位数学号、空格、两位数成绩、回车换行学号和成绩顺序为排序结果五、流程框图
入口段寄存器和堆栈初始显示“请输入30个学生的成SI指向成绩表首址学生数送CX调用INPUTM,读学生成绩送[SI]
入口CX入栈保护学生数送CXAL放最低成绩00HBX和SI均指向成绩表首址学生成绩排名主程序流程图成绩排名STOR子程序流程图六、心得体会微机原理课程设计一周里,我总共完成了4个程序。之所以选择这个程序写在报告里,是因为它几乎包含了前面程序所有的要点,如:单字符、字符串的输入输出,回车换行实现合理显示,寄存器保护,宏定义及子程序调用,循环嵌套,等。它还包含新的要点:利用MUL、DIV指令实现数与ASCⅡ码转换,伴随排序。微机原理课上我们只能学到理论,尤其是书上的注意点大多也都是记忆,没有深刻体会。通过这几天的实践,我对这门课程的知识有了更深刻的认知,尤其是自己编写程序过程中被报错再纠正的时候。现在我知道,回车是回到行首,换行是到达下一行同列处;DOS功能调用的时候可能会改变寄存器AX中的值,故需保护;利用堆栈保护(PUSH、POP)可实现寄存器释放再利用;DOS功能调用时,用的比较多的是01号功能——输入单个字符,并将要输入的字符送入AL;02号功能——字符显示,需要将要显示的字符先送入寄存器DL;07号功能——无回显的键盘输入,注意要与01号功能键的区别;09号功能——显示字符串,前提是将要显示的缓冲区的首址送入DX;0A功能——将字符串输入到缓冲区,也需要将缓冲区首址先送入寄存器DX;在这次课程设计中我还了解到键盘上输入的数据以及屏幕上显示的,在内存中都是以ASCII码存放的,因此输入/输出的时候经常用到十六进制ASCII码的转换,如果是数字键,转换时要注意加减30H;如果是字母,注意大小写字母相差20H;十六进制里的(A~E)与数字键的ASCII码相差07H;“回车”的ASCII码是0DH;“换行”的ASCII码是0AH;这些都是在编程过程中要经常用到的;基址加变址寻址的时候一定要用BP/BX,而其他寄存器不行;另外,我还学会了宏定义,宏的出现使得编程过程中很多地方都方便了很多,直接调用宏,只要将形参赋予不同的值,就可以多次调用,完成功能了;宏与子程序的区别是:子程序能实现特定功能的完整的程序模块,而宏不一定,只是将几句话整合成一个模块去实现仅有的一些功能,不是一个完整的程序……这些都是实践之后体会到的,有的是自己踩出来的,有的是同学认识到的,我们相互交流,氛围融洽。总的说来,课程设计整个过程是充实的、渐进的、充满纠结与欣喜的。在这里我真正体会到逻辑思维的魅力,体会到辛勤劳动果实的踏实甜蜜。真切希望下次还有这种机会,全身心投入到编程中去,去发现问题,解决问题,不断扩充自己的知识,学会与身边的人沟通交流,交换想法,取长补短,互相帮助,共同进步。