论文部分内容阅读
随着计算机技术的发展,社会信息化程度的不断提高,计算机水平成为考核个人能力的一个重要标志,计算机考试也已经深入到每一个行业。尤其在教育行业中,传统手工阅卷已经逐渐走向计算机自动评阅。目前自动评阅已经能很好地完成对常见客观试题的自动批阅工作,但是对于一些主观性很强的问题,尤其是程序设计题的自动阅卷问题,还没有很好的解决方案。
在计算机语言类的相关考试中,程序设计题的自动评阅技术是一项非常具有实用价值的应用,也是实现计算机考试及全自动阅卷的一个关键技术。本文通过查阅大量的文献资料,并借鉴现有系统的各种技术,对程序设计题的自动阅卷问题提出了自己的解决方案,即以程序编译运行的结果,以及考点及其位置为评分标准对程序设计题进行结果和功能动态测试、逻辑结构分析和语句格式模糊匹配的一种研究方法,目标是模拟人工阅卷的效果。本方法模拟人工阅卷的特点,对程序题的自动评阅采用了动态评阅和静态评阅相结合的方法。动态评阅即运行考生的程序,向应用程序模拟发送消息,使程序按照既定的策略自动运行,在运行过程中,利用嵌入的测试代码来得到结果和进行一些动态测试,通过搜索对比运行得到结果。同时,从考生代码中模糊匹配搜索得分点,再对比本题的考点,根掘考点的存在及位置正确与否,得到一个匹配的情况,以此作为考生程序评分的依掘之一。
本文的实现方法主要是针对高校VB考核的,在程序的复杂性上,可以通过在教师出题时进行限定,因此,本方法主要的精力集中在对考生代码的逻辑完整性和正确性上进行判断。该方法很好的结合了Visual Basic,通过程序运行结果比较、静态代码分析和动态代码测试的结合,来对代码进行详细的分析,较为忠实的模拟了人工评阅程序设计题的过程。最后,本文还实现了一个Visual Basic考试系统,实现了试卷的随机生成、提交、自动评分和成绩统计等功能。经过初步测试,结果表明本系统操作简单、准确率高、评分标准统一。