考试系统中Word题设计难点与解决方案

2012-04-12 22:19冯丁武
关键词:出题段落文档

冯丁武

(湖南文理学院 计算机科学与技术学院, 湖南 常德, 415000 )

考试系统中Word题设计难点与解决方案

冯丁武

(湖南文理学院 计算机科学与技术学院, 湖南 常德, 415000 )

分析Office软件考试中的一些设计难点及问题, 在整体上提出解决方法. 重点讨论了Word段落定位, 利用VBA对Word等对象的控制及容错处理等问题.

VB6.0; 操作题; 冲突检测; 自动评分

在不同人群的各类计算机应用基础上机考试中, 基本上都有 Word数据录入与排版的考试内容. 这些考试系统由于考试环境和采用的软件不同, 对Word的考试方式及考完后的判卷方式也不尽相同[1]. 笔者在最新版的考试系统中实现了Word文档辅助出题及自动判卷的功能.

1 Word模块自动出题的设计难点

1.1 自动出题的设计难点

1.1.1 对象定位

对象定位问题在Word中比较突出. 以段落对象为例, 在Word的VBA中对段落的定位方法与一般人们在实际操作中对段落的定位方法是有很大差别的, 解决这个问题是对考生试卷评判正确性的保证.

1.1.2 同大类的两个知识点存在互斥的关系

字体格式设置中的删除线和双删除线、上标和下标就属于这种情况. 由于它们在同一个大类即出现在“向导”的同一个窗体中, 比较容易处理, 只要在程序设计中, 使它们的复选框不能同时被选择就可以了.

1.1.3 不同大类的知识点有着相互关联的关系

为观察关联导致的结果, 需要在出题时对题目文件进行预操作. 例如“查找与替换”知识点与“字体格式设置”知识点之间就存在着关联关系: “查找与替换”知识点要求考生将指定内容的文字或指定格式的文字替换为其他内容或格式的文字, 为了保证题目的合理性和有效性, 该小题完成时, “向导”会对题目文件的当前状态进行检查, 如果题目文件中没有符合查找要求的文字, “向导”会提示出题人另选参数. 但也可能出现这种情况: 出题人在“字体”类知识点中选择了“将第一段的字体颜色设置为红色”, 随后又在“查找和替换”知识点中选择“将文中所有蓝色的字体加上波浪线”[2]. 而题目文件只有第一段有若干处蓝色字体, 符合出题要求, 但考生实际操作时已完成了前面字体颜色格式设置的要求, 文档的状态发生了变化, 后面的题目要求的蓝色已经没有, 无法完成该题. 如调换这两个知识点的出题顺序, 则可能导致两种结果: 一是考生不同的操作顺序会导致不同的操作结果; 二是自动评卷程序无法对“查找与替换”知识点做出正确的判别[3].

1.2 Word模块设计相关问题的解决方案

针对Word中知识点互斥与关联等问题, 在设计出题“向导”时采用如下方法:

a. 无论出题人何时选择了“查找与替换”知识点, 在最后生成题目要求和标准答案时, 都将这道小题放到整个大题的最后, 以避免因操作顺序不同而导致的歧义.

b. 若出题人先选择“字体设置”知识点, 后选择“查找和替换”知识点, 则在进行字体设置时, 系统对题目文件进行预操作, 完成“查找和替换”要求时对预操作后的题目文件进行检测. 为保留题目文件的原貌, 也采用“另存为”方法, 将题目文件另存为一个新的文档, 所有的预操作都针对这个新文档对象进行.

c. 如果出题人先选择“查找和替换”知识点, 后选择“字体设置”知识点, 则在进行字体设置时, 系统对题目文件进行预操作, 并对预操作后的题目文件重新进行“查找和替换”知识点的状态检测, 如果此时题目文件的环境己不符合要求, 提示用户重新选择.

1.3 Word模块自动出题向导的设计与实现

为保证题目的有效性, 用户每选择一个知识点, 系统就检查题目文件中该知识点的状态或参数, 得到当前参数值后, 才能使相应的参数列表组合框中不出现检测到的值, 从而避免出题人因疏忽而造成的错误的参数选择.

为保证题目的合法性, 在打开题目文件时, 就对题目文件中的段落总数进行统计, 用户再选择段落位置时, 必须在题目文件所有的段落范围内, 否则“向导”会提示用户把参数改动到合理范围内, 系统才允许用户进行其它操作.

2 Word考试系统自动评分模块设计

计算机考试系统只有能自动评分才有可能用到考试的实践中去, 为此设计了Word自动评卷模块.

2.1 后台启动和控制Word

要想在VB中引用VBA评判考生试卷, 必须首先启动VBA主应用程序Word. 希望能用程序来启动控制Word, 甚至希望Word只在后台运行, 以增强系统运行的效率和封装性, 同时也可以避免用户的误操作,在评卷系统仍在运行时就关闭了VBA的主应用程序.

2.2 Word模块的容错处理

由于Word的对象集合多, 对象的层次也多, 系统既要保证出题向导与自动评卷系统的运行效率, 也要能够考核考生实际的操作水平. 为达到二者的有机统一, 在阅卷时要进行一定的容错处理. 例如考生可能在操作中为文档增加回车换行符, 会使文档的第2段变成了第3段, 该操作从道理上应该不影响考生的考试结果, 若是人工评卷是会给分的. 但实际上, 在利用 VBA对象进行自动阅卷时, 这种操作会影响段落的定位, 因为Word的对象库中, 一个回车换行符即为一段, 如果段落定位不对, 无法正确评判考生试卷.

为了提高程序的容错能力, 保证试卷评判工作不间断的进行, 系统设计了许多对错误情况的捕捉和处理功能, 打开考生答案文件后就要进行容错性处理, 例如去除考生答案文件中的空段 (只有空格和回车换行符的段落).

2.3 Word模块的自动评卷难点及解决方案

Word的对象库认为一个回车换行符即为一个段落, 在进行段落统计和定位时, 将表格的单元格中的段落、图形中的段落等等全部纳入计算范围. 而考生在实际操作时, 通常只考虑文字部分的段落, 对单元格一般按行和列的单位进行定位. 同时, 对于只有空格和回车换行符的空段在计数时是否也算一个段落, 恐怕一般的考生面对这样的问题都会发生疑问, 这样就容易造成对题目要求理解的歧义. 因此, 如何解决段落定位的问题既是重点, 也是难点.

为了解决这个问题, 系统采用了如下方法和策略:

a. 对表格和图形中段落的处理

由于 Word的对象库中并没有对某一段落是否在表格或图形中的属性设置, 因此我们不能直接判断段落是在表格中、图形中还是文字部分中. 系统设计中采取了一个间接的办法: 将题目文件或考生答案另存为一个新的Word文档, 再在其中删除所有的图形和表格, 凡是对文字段落部分的操作和判断, 都针对这个新的文档对象进行. 这样做既保证了不改变题目文件和考生答案文件的原貌, 又方便、快捷、准确地解决了段落定位的问题.

b. 去除空段

Word文档中是应该允许空段的存在的, 但这会影响出题向导和自动评卷系统对段落的定位, 因此要对它进行去除空段的处理.

程序设计时, 初步解决方案是利用Word的查找与替换功能, 查找文档中是否存在连续两个回车换行符,若存在, 则将其替换为一个回车换行符. 对于连续的 3个以上的回车换行符, 只要将上面的程序设置一个循环就可以了. 但是这样做遇到一个问题: 即在Word中, 一个表格前若有两个连续的回车换行符, 是不能够替换为一个回车换行符的, 这样就使程序形成了死循环. 经过测试, 发现表格前的这个空段可以用Delete方法删除, 因此程序设计思路改为查找空段并删除它, 这样做还可以删除那些只有空格的段落, 而根据原来的思路是不能删除这样的段落的.

c. 分析题目文件和考生答案文件中是否有首字下沉和分栏的设置

之所以要分析文档对象中是否含有首字下沉和分栏的设置, 是因为在 Word的对象库中, 下沉的首字和具有分栏设置的段落第1个字符的ASCII码为“12”时, 也都被认为是一个段落. 而操作者一般认为段落的首字不管做何种设置, 仍是段落的一部分; 而ASCII码“12”是一个不可见的字符, 考生更不可能知道这也是一个段落. 所以这两种格式设置也都会影响到段落的定位, 必须进行检查并进行处理, 以便按照操作者的习惯对段落进行准确定位[4].

3 结束语

我们设计的Word考试系统, 为提高学习Word的效率提供了方便. 对于Word中知识点互斥与关联问题和 FSO对象的运用等问题, 进行了分析和解决. 而只有解决了这一系列的问题, 才能提高考试系统评分的精确性, 考试也才更公平、客观[4].

[1] 李贵阳, 王世伦, 俞晓. Word文档自动判卷的实现[J]. 中国测试技术, 2004, 30(7): 79-81.

[2] 马慧彬. Windows上机操作题库系统的设计[J]. 佳木斯大学学报: 自然科学版, 2003, 21(1): 108-110.

[3] 邓慧琴. 《计算机应用基础》Web考试系统的自动化测试方案[J]. 齐齐哈尔大学学报: 自然科学版, 2012(1): 10-13.

[4] 黄裕. 在线考试系统的设计与实现[J]. 数字技术与应用, 2011(11): 158-159.

(责任编校: 谭长贵)

The design difficulties and solutions of word questions in test systems

FENG Ding-wu
(College of Computer Science and Technology, Hunan University of Arts and Science, Changde 415000, China)

Some design difficulties was analyzed in Office software tests. This paper also focused on problems as paragraphs positioning in Word, the control of Word using VBA and fault-tolerant processing.

VB 6.0; operation questions; conflicts detection; automatic grading

TP 316.7

1672-6146(2012)02-0092-03

10.3969/j.issn.1672-6146.2012.02.022

2012-05-24

湖南文理学院教改重点课题(JGZD0907).

冯丁武(1957-), 男, 副教授, 研究方向为计算机应用. E-mail: 313186535@qq.com

猜你喜欢
出题段落文档
民生实事 请人大代表“出题”“阅卷”
浅谈Matlab与Word文档的应用接口
有人一声不吭向你扔了个文档
【短文篇】
心理小测试
我只出题,不管证明
夏天,爱情的第四段落
棉和绵
基于RI码计算的Word复制文档鉴别
弄清段落关系 按图索骥读文