馮丁武
(湖南文理學(xué)院 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院, 湖南 常德, 415000 )
考試系統(tǒng)中Word題設(shè)計(jì)難點(diǎn)與解決方案
馮丁武
(湖南文理學(xué)院 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院, 湖南 常德, 415000 )
分析Office軟件考試中的一些設(shè)計(jì)難點(diǎn)及問(wèn)題, 在整體上提出解決方法. 重點(diǎn)討論了Word段落定位, 利用VBA對(duì)Word等對(duì)象的控制及容錯(cuò)處理等問(wèn)題.
VB6.0; 操作題; 沖突檢測(cè); 自動(dòng)評(píng)分
在不同人群的各類計(jì)算機(jī)應(yīng)用基礎(chǔ)上機(jī)考試中, 基本上都有 Word數(shù)據(jù)錄入與排版的考試內(nèi)容. 這些考試系統(tǒng)由于考試環(huán)境和采用的軟件不同, 對(duì)Word的考試方式及考完后的判卷方式也不盡相同[1]. 筆者在最新版的考試系統(tǒng)中實(shí)現(xiàn)了Word文檔輔助出題及自動(dòng)判卷的功能.
1.1 自動(dòng)出題的設(shè)計(jì)難點(diǎn)
1.1.1 對(duì)象定位
對(duì)象定位問(wèn)題在Word中比較突出. 以段落對(duì)象為例, 在Word的VBA中對(duì)段落的定位方法與一般人們?cè)趯?shí)際操作中對(duì)段落的定位方法是有很大差別的, 解決這個(gè)問(wèn)題是對(duì)考生試卷評(píng)判正確性的保證.
1.1.2 同大類的兩個(gè)知識(shí)點(diǎn)存在互斥的關(guān)系
字體格式設(shè)置中的刪除線和雙刪除線、上標(biāo)和下標(biāo)就屬于這種情況. 由于它們?cè)谕粋€(gè)大類即出現(xiàn)在“向?qū)А钡耐粋€(gè)窗體中, 比較容易處理, 只要在程序設(shè)計(jì)中, 使它們的復(fù)選框不能同時(shí)被選擇就可以了.
1.1.3 不同大類的知識(shí)點(diǎn)有著相互關(guān)聯(lián)的關(guān)系
為觀察關(guān)聯(lián)導(dǎo)致的結(jié)果, 需要在出題時(shí)對(duì)題目文件進(jìn)行預(yù)操作. 例如“查找與替換”知識(shí)點(diǎn)與“字體格式設(shè)置”知識(shí)點(diǎn)之間就存在著關(guān)聯(lián)關(guān)系: “查找與替換”知識(shí)點(diǎn)要求考生將指定內(nèi)容的文字或指定格式的文字替換為其他內(nèi)容或格式的文字, 為了保證題目的合理性和有效性, 該小題完成時(shí), “向?qū)А睍?huì)對(duì)題目文件的當(dāng)前狀態(tài)進(jìn)行檢查, 如果題目文件中沒(méi)有符合查找要求的文字, “向?qū)А睍?huì)提示出題人另選參數(shù). 但也可能出現(xiàn)這種情況: 出題人在“字體”類知識(shí)點(diǎn)中選擇了“將第一段的字體顏色設(shè)置為紅色”, 隨后又在“查找和替換”知識(shí)點(diǎn)中選擇“將文中所有藍(lán)色的字體加上波浪線”[2]. 而題目文件只有第一段有若干處藍(lán)色字體, 符合出題要求, 但考生實(shí)際操作時(shí)已完成了前面字體顏色格式設(shè)置的要求, 文檔的狀態(tài)發(fā)生了變化, 后面的題目要求的藍(lán)色已經(jīng)沒(méi)有, 無(wú)法完成該題. 如調(diào)換這兩個(gè)知識(shí)點(diǎn)的出題順序, 則可能導(dǎo)致兩種結(jié)果: 一是考生不同的操作順序會(huì)導(dǎo)致不同的操作結(jié)果; 二是自動(dòng)評(píng)卷程序無(wú)法對(duì)“查找與替換”知識(shí)點(diǎn)做出正確的判別[3].
1.2 Word模塊設(shè)計(jì)相關(guān)問(wèn)題的解決方案
針對(duì)Word中知識(shí)點(diǎn)互斥與關(guān)聯(lián)等問(wèn)題, 在設(shè)計(jì)出題“向?qū)А睍r(shí)采用如下方法:
a. 無(wú)論出題人何時(shí)選擇了“查找與替換”知識(shí)點(diǎn), 在最后生成題目要求和標(biāo)準(zhǔn)答案時(shí), 都將這道小題放到整個(gè)大題的最后, 以避免因操作順序不同而導(dǎo)致的歧義.
b. 若出題人先選擇“字體設(shè)置”知識(shí)點(diǎn), 后選擇“查找和替換”知識(shí)點(diǎn), 則在進(jìn)行字體設(shè)置時(shí), 系統(tǒng)對(duì)題目文件進(jìn)行預(yù)操作, 完成“查找和替換”要求時(shí)對(duì)預(yù)操作后的題目文件進(jìn)行檢測(cè). 為保留題目文件的原貌, 也采用“另存為”方法, 將題目文件另存為一個(gè)新的文檔, 所有的預(yù)操作都針對(duì)這個(gè)新文檔對(duì)象進(jìn)行.
c. 如果出題人先選擇“查找和替換”知識(shí)點(diǎn), 后選擇“字體設(shè)置”知識(shí)點(diǎn), 則在進(jìn)行字體設(shè)置時(shí), 系統(tǒng)對(duì)題目文件進(jìn)行預(yù)操作, 并對(duì)預(yù)操作后的題目文件重新進(jìn)行“查找和替換”知識(shí)點(diǎn)的狀態(tài)檢測(cè), 如果此時(shí)題目文件的環(huán)境己不符合要求, 提示用戶重新選擇.
1.3 Word模塊自動(dòng)出題向?qū)У脑O(shè)計(jì)與實(shí)現(xiàn)
為保證題目的有效性, 用戶每選擇一個(gè)知識(shí)點(diǎn), 系統(tǒng)就檢查題目文件中該知識(shí)點(diǎn)的狀態(tài)或參數(shù), 得到當(dāng)前參數(shù)值后, 才能使相應(yīng)的參數(shù)列表組合框中不出現(xiàn)檢測(cè)到的值, 從而避免出題人因疏忽而造成的錯(cuò)誤的參數(shù)選擇.
為保證題目的合法性, 在打開(kāi)題目文件時(shí), 就對(duì)題目文件中的段落總數(shù)進(jìn)行統(tǒng)計(jì), 用戶再選擇段落位置時(shí), 必須在題目文件所有的段落范圍內(nèi), 否則“向?qū)А睍?huì)提示用戶把參數(shù)改動(dòng)到合理范圍內(nèi), 系統(tǒng)才允許用戶進(jìn)行其它操作.
計(jì)算機(jī)考試系統(tǒng)只有能自動(dòng)評(píng)分才有可能用到考試的實(shí)踐中去, 為此設(shè)計(jì)了Word自動(dòng)評(píng)卷模塊.
2.1 后臺(tái)啟動(dòng)和控制Word
要想在VB中引用VBA評(píng)判考生試卷, 必須首先啟動(dòng)VBA主應(yīng)用程序Word. 希望能用程序來(lái)啟動(dòng)控制Word, 甚至希望Word只在后臺(tái)運(yùn)行, 以增強(qiáng)系統(tǒng)運(yùn)行的效率和封裝性, 同時(shí)也可以避免用戶的誤操作,在評(píng)卷系統(tǒng)仍在運(yùn)行時(shí)就關(guān)閉了VBA的主應(yīng)用程序.
2.2 Word模塊的容錯(cuò)處理
由于Word的對(duì)象集合多, 對(duì)象的層次也多, 系統(tǒng)既要保證出題向?qū)c自動(dòng)評(píng)卷系統(tǒng)的運(yùn)行效率, 也要能夠考核考生實(shí)際的操作水平. 為達(dá)到二者的有機(jī)統(tǒng)一, 在閱卷時(shí)要進(jìn)行一定的容錯(cuò)處理. 例如考生可能在操作中為文檔增加回車換行符, 會(huì)使文檔的第2段變成了第3段, 該操作從道理上應(yīng)該不影響考生的考試結(jié)果, 若是人工評(píng)卷是會(huì)給分的. 但實(shí)際上, 在利用 VBA對(duì)象進(jìn)行自動(dòng)閱卷時(shí), 這種操作會(huì)影響段落的定位, 因?yàn)閃ord的對(duì)象庫(kù)中, 一個(gè)回車換行符即為一段, 如果段落定位不對(duì), 無(wú)法正確評(píng)判考生試卷.
為了提高程序的容錯(cuò)能力, 保證試卷評(píng)判工作不間斷的進(jìn)行, 系統(tǒng)設(shè)計(jì)了許多對(duì)錯(cuò)誤情況的捕捉和處理功能, 打開(kāi)考生答案文件后就要進(jìn)行容錯(cuò)性處理, 例如去除考生答案文件中的空段 (只有空格和回車換行符的段落).
2.3 Word模塊的自動(dòng)評(píng)卷難點(diǎn)及解決方案
Word的對(duì)象庫(kù)認(rèn)為一個(gè)回車換行符即為一個(gè)段落, 在進(jìn)行段落統(tǒng)計(jì)和定位時(shí), 將表格的單元格中的段落、圖形中的段落等等全部納入計(jì)算范圍. 而考生在實(shí)際操作時(shí), 通常只考慮文字部分的段落, 對(duì)單元格一般按行和列的單位進(jìn)行定位. 同時(shí), 對(duì)于只有空格和回車換行符的空段在計(jì)數(shù)時(shí)是否也算一個(gè)段落, 恐怕一般的考生面對(duì)這樣的問(wèn)題都會(huì)發(fā)生疑問(wèn), 這樣就容易造成對(duì)題目要求理解的歧義. 因此, 如何解決段落定位的問(wèn)題既是重點(diǎn), 也是難點(diǎn).
為了解決這個(gè)問(wèn)題, 系統(tǒng)采用了如下方法和策略:
a. 對(duì)表格和圖形中段落的處理
由于 Word的對(duì)象庫(kù)中并沒(méi)有對(duì)某一段落是否在表格或圖形中的屬性設(shè)置, 因此我們不能直接判斷段落是在表格中、圖形中還是文字部分中. 系統(tǒng)設(shè)計(jì)中采取了一個(gè)間接的辦法: 將題目文件或考生答案另存為一個(gè)新的Word文檔, 再在其中刪除所有的圖形和表格, 凡是對(duì)文字段落部分的操作和判斷, 都針對(duì)這個(gè)新的文檔對(duì)象進(jìn)行. 這樣做既保證了不改變題目文件和考生答案文件的原貌, 又方便、快捷、準(zhǔn)確地解決了段落定位的問(wèn)題.
b. 去除空段
Word文檔中是應(yīng)該允許空段的存在的, 但這會(huì)影響出題向?qū)Ш妥詣?dòng)評(píng)卷系統(tǒng)對(duì)段落的定位, 因此要對(duì)它進(jìn)行去除空段的處理.
程序設(shè)計(jì)時(shí), 初步解決方案是利用Word的查找與替換功能, 查找文檔中是否存在連續(xù)兩個(gè)回車換行符,若存在, 則將其替換為一個(gè)回車換行符. 對(duì)于連續(xù)的 3個(gè)以上的回車換行符, 只要將上面的程序設(shè)置一個(gè)循環(huán)就可以了. 但是這樣做遇到一個(gè)問(wèn)題: 即在Word中, 一個(gè)表格前若有兩個(gè)連續(xù)的回車換行符, 是不能夠替換為一個(gè)回車換行符的, 這樣就使程序形成了死循環(huán). 經(jīng)過(guò)測(cè)試, 發(fā)現(xiàn)表格前的這個(gè)空段可以用Delete方法刪除, 因此程序設(shè)計(jì)思路改為查找空段并刪除它, 這樣做還可以刪除那些只有空格的段落, 而根據(jù)原來(lái)的思路是不能刪除這樣的段落的.
c. 分析題目文件和考生答案文件中是否有首字下沉和分欄的設(shè)置
之所以要分析文檔對(duì)象中是否含有首字下沉和分欄的設(shè)置, 是因?yàn)樵?Word的對(duì)象庫(kù)中, 下沉的首字和具有分欄設(shè)置的段落第1個(gè)字符的ASCII碼為“12”時(shí), 也都被認(rèn)為是一個(gè)段落. 而操作者一般認(rèn)為段落的首字不管做何種設(shè)置, 仍是段落的一部分; 而ASCII碼“12”是一個(gè)不可見(jiàn)的字符, 考生更不可能知道這也是一個(gè)段落. 所以這兩種格式設(shè)置也都會(huì)影響到段落的定位, 必須進(jìn)行檢查并進(jìn)行處理, 以便按照操作者的習(xí)慣對(duì)段落進(jìn)行準(zhǔn)確定位[4].
我們?cè)O(shè)計(jì)的Word考試系統(tǒng), 為提高學(xué)習(xí)Word的效率提供了方便. 對(duì)于Word中知識(shí)點(diǎn)互斥與關(guān)聯(lián)問(wèn)題和 FSO對(duì)象的運(yùn)用等問(wèn)題, 進(jìn)行了分析和解決. 而只有解決了這一系列的問(wèn)題, 才能提高考試系統(tǒng)評(píng)分的精確性, 考試也才更公平、客觀[4].
[1] 李貴陽(yáng), 王世倫, 俞曉. Word文檔自動(dòng)判卷的實(shí)現(xiàn)[J]. 中國(guó)測(cè)試技術(shù), 2004, 30(7): 79-81.
[2] 馬慧彬. Windows上機(jī)操作題庫(kù)系統(tǒng)的設(shè)計(jì)[J]. 佳木斯大學(xué)學(xué)報(bào): 自然科學(xué)版, 2003, 21(1): 108-110.
[3] 鄧慧琴. 《計(jì)算機(jī)應(yīng)用基礎(chǔ)》Web考試系統(tǒng)的自動(dòng)化測(cè)試方案[J]. 齊齊哈爾大學(xué)學(xué)報(bào): 自然科學(xué)版, 2012(1): 10-13.
[4] 黃裕. 在線考試系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J]. 數(shù)字技術(shù)與應(yīng)用, 2011(11): 158-159.
(責(zé)任編校: 譚長(zhǎng)貴)
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
湖南文理學(xué)院教改重點(diǎn)課題(JGZD0907).
馮丁武(1957-), 男, 副教授, 研究方向?yàn)橛?jì)算機(jī)應(yīng)用. E-mail: 313186535@qq.com