Word操作题的自动评分

时间:2022-09-22 02:50:22

Word操作题的自动评分

摘要:无纸化考试系统中,客观试题的自动评分相对于操作题的自动评分实现起来比较容易。该文主要对无纸化考试系统的操作部分试题的自动评分问题进行分析,以Word操作题为例阐述操作题的自动评分的具体实现。

关键词:无纸化考试; 操作题;自动评分

中图分类号:TP311文献标识码:A文章编号:1009-3044(2010)09-2299-02

无纸化考试系统中对于笔试考试的自动阅卷算法采用的方法是学生的答案与标准答案一一进行比较,比较结果一致则答案正确,可以得分,否则按零分计算。在标准化客观试题中,也就是对选择题的考察,由于每题的标准答案具有唯一性,可以采用一一对应的完全匹配策略。这部分的自动评分实现起来比较容易。无纸化考试系统的操作部分试题的自动评分问题较复杂,以Word操作题为例阐述操作题的自动评分。

Word操作部分题目的目的是为了让考生掌握文档排版相关的知识点,使文档按指定要求显示,是对考生基本应用能力的考察。与页面相关包括对象PageSetup和它的属性PageWidth,PageHeight,TopMargin,页眉Headers(wdHeaderFooterPrimary)和它相关属性Text等,在考试的评分过程中,通过对考生设置的属性值的考察来判断是否与所要求的相符合。

1 设置页面大小操作题的评分实现

页面设置如果循环过程中,该条记录的切入点的值与程序中case选择中相同的值为页面大小设置程序,那么该条记录的值为试题要求的页面大小相关的各属性值(页面宽度与页面高度),在程序评分的过程中,利用变量wds引用返回考生对指定文档设置的页面大小的属性值然后与标准答案给出的属性值比较,页面宽度wds.ActiveDocument.P-ageSetup.PageWidth,页面高度wds.ActiveDocument.PageSetup.PageHeight,在标准答案表中,第三列的值为页面宽度的值,当执行到该case语句时,逐个检查状态值,can1的值就是页面宽度的值,如果wds.ActiveDocument.PageSetup.PageWidth = Val(can1),说明页面设置的宽度符合答案题目要求,同时如果满足wds.ActiveDocument.PageSetup.PageHeight = Val(can2), 说明页面设置的高度符合答案题目要求,该题就得分。

单元格中的文字属性主要包括字体、字型、字号、颜色、下划线、特殊效果。如果考生答案中对所要求操作的单元格的的字体、字型、字号、颜色进行了操作,并且它们的属性值与标准答案答案数据表中的属性值一致,则操作正确,该题可以得分。对于设置表格的行高,在评分的过程中,验证考生对指定表格的行高的设置是否为标准答案中指定的值。

2 查找和替换操作题的评分实现

题目要求用指定的内容代替文本中的指定的内容,在评分的实现过程中,采用查找文本中要求的对象的个数的方式实现评分,在总个数少于标准答案中kd的值时,每改对一个就相应的加上该操作的分值,如果查找个个数超过了本应该有的个数,就不能再加分。利用循环实现查找的过程,逐段进行查找,在n小于总的段落值时进行循环,否则退出循环。

具体的实现过程如下:

Case 60

num = wds.ActiveDocument.Paragraphs.Count

ok = 0

n = 1

Do While n

Set mydoc2 = wds.ActiveDocument.Paragraphs(n).Range

mydoc2.Select

With mydoc2.Find

.Text = Trim(can1)

End With

mydoc2.Find.Execute

If mydoc2.Find.Found = True Then

ok = ok + 1

End If

n = n + 1

Loop

If ok > kd Then wordfen1 = wordfen1 Else wordfen1 = wordfen1 + ok * dfen / kd

3 设置文档的字形

其中包括字体类型,字体大小,字形倾斜,字形是否加粗,文字的颜色等属性的设置,对字形进行设置,首先必须确定范围,是对哪部分进行了设置,因此在标准答案中就应该有开始与结束的属性值,如果是设置字体大小,就还要有字号的属性。在利用wds返回考生设置的文档的某部分的字型属性时,采用了Range(start,end)函数来确定开始和结束的范围,如果为字体就利用属性Font.Name返回字体的名字,然后与标准答案中的字体名字进行比较,决定是否得分。设置字体例题:打开Wordkt文件夹下的Wordf.doc文件,按如下要求进行操作:将“因特网上存取声音和电视的方法”作为标题,设置字体为楷体_GB2312在标准答案的生成过程中,经过阅读Wordf文档了解到,要设置的 “因特网上存取声音和电视的方法” 为文档的最开始的十四个字符,因此start与end参数的值设置为0与14,执行时can1=0,can2=14, 并且把题目要求的楷体_GB2312设置为参数3的值。

对应的标准答案中的属性值下表所示。

在评分的实现过程中, wds.ActiveDocument.Range(Start:=can1, End:=can2).Font.Name返回该部分的字体的字型,如果与参数3的值相同,则该考生答对该题,得分wordfen2 = wordfen2 + dfen。

4 表格操作题的评分实现

关于表格的基本操作,同样是Office中Word操作型考题的一部分,该部分的目的是为了使考生掌握对表格的相关操作,达到灵活应用。与表格相关的对象和相应的属性包括Tables(value)第value个表,Cell(value1,value2),指定位置的单元格,Borders ()指定表位置的边框,Count有来返回指定对象的数目,Height返回指定对象的高度等等。

1) 表格插入行(列) 通过运用行总数的考察,可以实现验证是否插入了一行或者删除了一行,以在要求的表格中指定的位置插入一行为例,在评分的实现过程中,必须满足行总数是否是插入以后的行数,插入的位置是否是指定的插入的位置,具体的评分思路通过if条件来层层判断,首先必须确定要求插入行表格存在(wds.ActiveDocument.Tables.Count > 0),如果该条件满足,通过wds引用返回该表格的总行数wds.ActiveDocument.Tables(1).Rows.Count,验证该值与标准答案的行数是否相等,验证插入的行的位置是否正确,是通过考察插入的行的某个单元格的上下单元格的内容(wds.ActiveDocument.Tables(1).Cell(Val(can2), 1).Range.Words(1).Text和wds.ActiveDocument.Tables(1).Cell(Val(can4), 1).Range.Words(1).Text)是否为原来不插入时该行和上一行的内容,在标准答案中列出了这两个单元格中的内容,如果都满足,而且没有其他的错误,则执行语句wordfen3 = wordfen3 + dfen,得到该部分的分数。插入列的评分思路与上述插入行的评分思路基本相同。

2) 设置表格的行高 对于设置表格的行高,在评分的过程中,验证考生对指定表格的行高的设置是否为标准答案中指定的值。必须用到行高的属性,通过设置的对考生所做过的试题的文档的引用wds返回考生设置的表格的行的高度wds.ActiveDocument.Tables(Val(can1)).Rows.Height。

3) 表格删除行 表格删除指定的行与表格添加指定的行相对应,要涉及到表格的行的总数,及特定位置的单元格的内容。评分的实现过程中,同样利用if条件语句来实现,如果操作后的表格的行数是原来的表格的行数减去一以后的值,该值放在标准答案数据库中,而且还必须满足在操作后的表格中新的该行的内容为下一行的内容wds.ActiveDocument.Tables(1).Cell(can2, can3).Range.Words(1).Text = can4,这样考生才能得到该题的分数。

5 结论

对于 Word操作题的自动评分[1],在评分时先提取评分要素,把标准答案的评分要素与考生答案的评分要素相比较,选择相应的评分等级,便能进行评分而得到总分[2]。为了降低评卷具体设置的难度,评卷系统采取了基于比较指定对象属性值的基本设计思想,在连接的数据库中设置了标准答案数据库(为标准答案的属性值及范围限定参数),评分过程中,系统首先确定评分点,再打开学生的操作过的试卷文档,根据标准答案中的切入点的值,进入相应的Case语句中,然后由指定的语句返回相应的属性值,与标准答案中该条记录中相应的参数进行比较,比较的结果是都相同的,考生得到该题的分数,否则不得分。此评分算法是一种通用算法,不需要针对每套题设计新的算法,只需要将每套题的标准答案转化为数据表,将数据表中相对应的属性值修改为标准答案中所对应的属性值即可。

参考文献:

[1] 程华.基于局域网的无纸化考试系统的研究及设计[J].电脑知识与技术,2005(11):82-84.

[2] 王鹰,赵跃龙,刘中基.基于C/S模式的计算机等级考试系统的设计[J].计算机与现代化,2006(2):70-72.

上一篇:GC中点的阵列在古建筑参数化设计中的应用 下一篇:数据挖掘技术在网络入侵检测中的应用