关于运用Visual FoxPro实现自动组卷的讨论
孙丽娜
摘要:本文分析了在无纸化考试中自动组卷的方法,对于试题库的准备定义了一定的原则和要求,将用Word录入的试题库进行了转换,使之成为Visual FoxPro环境下的试题库表结构,并对该表构造了自动组卷的算法,最后给出了一种从试题库表中随机抽出试题生成试卷库的Vsiual FoxPro程序。
关键词:Visual FoxPro;试题库;计算机组卷;试卷库
1关于无纸考试
随着计算机的普及和计算机技术的发展,一个新的考试形式--无纸化考试的形成已经成为趋势。在计算机上实现考试功能,对于我们有着重要的意义。无纸化考试系统与传统考试方式相比,其效率的提高是十分显著的。因此无纸化考试已经受到了各类考试的青睐,从国家级考试的计算机等级考试、职称计算机考试、省计算机二级考试到各省计算机的会考以及各行业、各学校的远程考试,这些无纸化考试既确保了考试的公平、公正,又大大提高了考试的效益、效率,同时降低了考试阅卷的人为因素。然而在这类考试中试卷的满意率并不高,试题重复、知识点重复或知识点遗漏、试卷覆盖面太窄等现象时有发生,为此,下面结合本人在实践中的体会,给出一种用Visual FoxPro实现的计算机自动组卷的方法和技术。
2 自动组卷方法
通过对现有无纸化考试系统分析,本人认为:要完成自动组卷,必须认真做好试题库的准备。即严格把握试题库的内容和表现形式,这一基础工作做好后,接着将其转入到Visual FoxPro数据表中,最后通过计算机程序进行若干试卷的生成。
2.1 题库的准备工作
试题库的准备就是将按考试大纲知识点所命的试题,通过文字处理软件录入计算机中。为便于计算机自动组卷,每一试题除保证准确无误外,还必须另设一特征码,特征码中包含试题所属章节号、顺序号、难易程度、题型、分值等。设定每一部分用2位表示,那么040506030201这一特征码则代表第4章第5节的第6个题、难易程度为3、题型为2、分值为1分的一个试题。通过特征码可将非结构化题库转换成结构化题库。命题时还要注意,题库中不能有完全相同的试题,当一道试题包含多个知识点时,应将该题归入考核关键知识点所在章节中。总之要确保试题惟一、试题内容与特征码所代表的含义要一致。试题录入修改可用Word完成,录入时注意一个试题未录完不要按回车键,每试题可按特征码、题干、答案或特征码、题干、答案、选择题选项的顺序录入。录入时可按特征码从小到大顺序录入,也可随机录入。
要提高试题库的质与量,库中试题既能有效涵盖课程的知识点,又要对重点部分有所侧重。针对试题指标不同,分别配以一定数量的试题,使同样指标试题的可选度大些。适当增加小分值的试题,使分数要求乃至卷面总分值能顺利匹配成功。试题的各项指标值应有内在联系,需准确把握,如每一试题的分值、难度系数及参考答题时间等应对应,以便控制试卷的难度及答卷的时间等。高质量的题库至少应体现在两个方面:其一,库中试题是否能合理涵盖该课程的内容和知识点,且对重点部分有所侧重;其二,为组卷需要而对库中试题所制定的指标体系是否科学合理。
2.2 题库数据表的生成
经Word等文字处理软件录入的试题,其文档结构为非结构化的,为了能在VFP中进行处理,先将试题库的Word文档格式转换成VFP中能接受的文本格式,再将文本格式的试题库变换成数据表形式,经过二次变换后的题库数据表具有由若干行和若干列组成的二维表结构,事实上,每行代表一试题,每列代表每试题的特征码、题干、答案或特征码、题干、答案、选择题选择项等。
2.3 自动组卷算法
通过初始化工作产生空试卷库表、获取试题库表的参数(如每章每节试题数、每章节不同类型试题数)。组卷要求中输入:卷面总分、各章节分值分布、卷面所含不同题型数目、组卷套数M等。选题策略:每章每种题型个数在组卷要求可行情况下,均匀地从各章中随机抽题。选题组卷是试题库自动组卷的核心部分之一,系统进行组卷的方式方法是题库系统自动生成有效(对测验目标来说)试卷的关键。在自动组卷系统中,用户仅仅提供试卷总分,试题总量,试卷难度,考试范围或知识点,题型及比例等参数,如何合理的分配不同难度下试题的数量是组卷算法中需要解决的问题。常用的组卷算法有三种:
随机选取法:根据状态空间的控制指标,由计算机随机的抽取一道试题放入试题库,此过程不断重复,直到组卷完毕,或已无法从题库中抽取满足控制指标的试题为止。
回溯试探法:这是将随机选取法产生的每一状态类型纪录下来,当搜索失败时释放上次纪录的状态类型,然后再依据一定的规律(正是这种规律破坏了选取试题的随机性)变换一种新的状态类型进行试探,通过不断的回溯试探直到试卷生成完毕或退回出发点为止。
遗传算法:是一种并行的、能够有效优化的算法,模拟达尔文的自然界遗传学。运用遗传算法求解问题首先需将所要求解的问题表示成二进制编码,然后根据环境进行基本的操作:selection,crossover,mutation……这样进行不断的所谓"生存选择",最后收敛到一个最适应环境条件的个体上,得到问题的最优解。
随机组卷策略是常用的组卷策略。
3 实现技术
3.1 Word文档与VFP表的相互转换
Word文档转换为VFP表:先将Word文档的试题库变成文本格式,再使用VFP中的"APPEND FROM 文本文件名 TYPE格式类型"命令将文本格式中的数据转入事先建好的空数据表。
VFP表格式的试卷转换成Word文档:组卷生成的的试卷库表,若需要编辑打印,可用VFP中的"COPY TO 文本文件名TYPE格式类型"命令转换成文本格式,再将其选定后复制到Word文档中。
3.2 随机组卷实例
已知,试题库中有80道试题,分成5种类型,每种类型有16个题,现要从每种类型题中随机抽取1道题生成10份试卷,即每份试卷由试题库中的5道题组成;设试题库表名为ST.DBF,将要生成的10份试卷的试卷库表名分别为SJ0.DBF、SJ1.DBF、……、SJ9.DBF,各表的结构相同,字段数均为6。用Visual FoxPro设计的程序如下:
set talk off
clear
select 2
use ST
dime temp(6)
For N=0 TO 9
FN=STR(N,1)
Copy stru to SJ&FN
Select 1
Use SJ&FN
For j=1 to 5
R=(j-1)*16 1 int(rand()*16)
Select 2
Go R
Scat to s
Select 1
Appe blan
Gath from S
Next
Next
Close ALL
Return
4 结束语
本文阐述了无纸化考试中试卷自动生成的方法和技术,其方法改善了组卷效率、节省了大量人力、确保了试卷的覆盖范围和准确性、有利用于题库的及时更新和维护,且组卷生成的试卷库数据表可供各开发工具导入使用。但将Word格式的试题库转换到VFP数据表中的方法还有待进一步探讨和改进。