汇编语言程序设计题自动阅卷技术_第1页
汇编语言程序设计题自动阅卷技术_第2页
汇编语言程序设计题自动阅卷技术_第3页
汇编语言程序设计题自动阅卷技术_第4页
汇编语言程序设计题自动阅卷技术_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、汇编语言程序设计题自动阅卷技术摘要:汇编语言是国际上广泛流行的计算机低级程序设计语言之一,对于汇编语言知识及能力的考核,除部分客观题以外,目前尚使用人工阅卷,尤其是程序设计题目的阅卷仍处于人工阶段,因此本人针对这种情况,研究了汇编语言程序设计题的自动评分方法,目的是实现汇编语言课程的完全无纸化考试,减少阅卷工作量,提高评阅过程的公正性和准确性。关键词:自动阅卷关键指令分析随着社会信息化程度的不断提高,计算机辅助处理、多媒体技术以及计算机网络等技术的飞速发展和推广应用,考试中使用的传统手工阅卷已经逐渐走向计算机自动评阅。许多高校目前组织C语言、VB、汇编语言、VFP、FoxPro等多种程序设计语

2、言进行考试,常见的客观试题已经由人工阅卷转向自动阅卷,并且能很好地完成,但是对于一些主观性很强的题目,尤其是程序设计题,仍然需要人工阅卷,浪费了大量的人力和物力,急需开发一套主观题的自动阅卷系统。在编程语言程序设计题目的计算机自动阅卷技术中,要解决的一个主要问题之一是对关键指令或语句的设置,也就是计算机自动识别程序中关键指令的对错。为了提高考生得分的合理性,一般自动阅卷系统除运用程序测试方法外,还运用与此方法相配合的关键指令分析方法。实践证明,在考试中能够运行进而实施测试的程序答案毕竟还是少数,更多的则是无法正常运行,而只能通过关键指令分析法来评判考生对关键知识点的掌握情况,并对其赋予相应的得

3、分,类似于人工阅卷的安步骤得分,使得考生的得分更接近实际。为此,自动阅卷技术引入关键指令分析方法,以提高对程序题评阅的客观公正性。本文主要针对汇编语言程序设计题的自动阅卷技术进行分析与研究,给出的是汇编语言程度设计题的关键指令分析方法。1关键指令分析的主要思想和算法1.1主要思想关键指令分析的主要思想是:汇编语言的程度设计题的关键是运行正确,得到相应的结果,但是由于程序设计题的特殊性,使得许多程序不可能写出就正确,可能需要大量的调试,而导致考生在考试过程中无法完成,而汇编语言的程序题主要是由指令构成的,每一个题目都有它的设计思想也就是关键的步骤,这些关键步骤在题目中体现在关键指令上,因此对于无

4、法正确运行的程序题可以采用关键指令分析方法来给出一定的分数。关键指令分析方法要求出题者在录入考试题目要求的同时完成将考题答案以及本题目所对应的关键指令信息的录入工作,在考生所提交的答案不能正常运行而无法进行动态测试的时候则可以采用关键指令分析法,将考生答案中的关键指令信息与关键指令数据表中的关键指令信息进行字符串模式匹配,根据匹配结果来评判考生程序答案中是否包含了考试所要求的关键指令信息。此方法的优点在于可以根据匹配结果中写对的关键指令数看考生对题目的理解程度,不像以前只看运行结果的评判方法,使得考生得到与自己真实水平相关的分数,类似于人工阅卷,但比人工阅卷节省了大量的人力和物力。虽然此技术还

5、不太成熟,但是由于它的优势一定会得到很大的发展。1.2实现关键指令分析的算法:要点快速匹配算法要点快速匹配算法是在对模式匹配的很多典型有效算法进行进一步改进后,专门针对关键指令分析提出的相应算法。本文中将汇编语言的常用的主要指令情况列表如表1。根据这些关键指令,首先在数据库中建立一个专门的关键指令数据表(Keystencenfo)将上述关键指令保存于表中,并将每条关键指令的首字符(firstchar)和字符串长度(string_length)等相应信息保存于该表的相应字段,在进行字符串匹配时只需通过对该表的访问获取相应信息去完成对考生程序答案的关键指令匹配即可,而无需重复计算。另外,在数据库中

6、还要建立一个要点数据表(Keynfo)包括题号、序号、要点内容、要点得分等元素,将要点分析匹配后得到的信息记录到此表中,以便统计程序设计题的最后得分。结合以上,对要点快速匹配算法在汇编语言中的实现描述如下(伪代码):CStringInstring,astring;While(有要点数据)按要点数据查询数据表Keystence_info;first_char二Keystenee_info.flrst_char:instring二文件第一行代码;while(!Instring)while(!串尾)调用KMP算法,在Instring中查找first_char,并用变量index_first记录其位置

7、索引;/判断首字符前字符及末字符后字符是否为空格if(Char(Instring,index_first-1=)&astring二String(Instring,index_first,Keystence_info.string_length);调用KMP算法对astring与模式串进行匹配;if(匹配成功)将要点得分填入得分表相应字段;e1se串指针=index_first+Keystence_info.string_length;Inistring二文件下一行代码;取下一要点数据;算法中用到的函数Char(CStringastring,intindex)实现在特定字符串astring中取指定位置index的字符的功能。通过以上的算法可以实现考生程序设计题的自动阅卷,并且给出合理的分数,使考生不至于出现因为一点错误而导致全部得零分的现象,而且此算法经过验证对一些简单的要求不高的程序设计题完全可以实现自动评阅,但是由于汇编语言程

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论