孫麗娜
摘要:本文分析了在無紙化考試中自動組卷的方法,對于試題庫的準備定義了一定的原則和要求,將用Word錄入的試題庫進行了轉換,使之成為Visual FoxPro環(huán)境下的試題庫表結構,并對該表構造了自動組卷的算法,最后給出了一種從試題庫表中隨機抽出試題生成試卷庫的Vsiual FoxPro程序。
關鍵詞:Visual FoxPro;試題庫;計算機組卷;試卷庫
1關于無紙考試
隨著計算機的普及和計算機技術的發(fā)展,一個新的考試形式--無紙化考試的形成已經(jīng)成為趨勢。在計算機上實現(xiàn)考試功能,對于我們有著重要的意義。無紙化考試系統(tǒng)與傳統(tǒng)考試方式相比,其效率的提高是十分顯著的。因此無紙化考試已經(jīng)受到了各類考試的青睞,從國家級考試的計算機等級考試、職稱計算機考試、省計算機二級考試到各省計算機的會考以及各行業(yè)、各學校的遠程考試,這些無紙化考試既確保了考試的公平、公正,又大大提高了考試的效益、效率,同時降低了考試閱卷的人為因素。然而在這類考試中試卷的滿意率并不高,試題重復、知識點重復或知識點遺漏、試卷覆蓋面太窄等現(xiàn)象時有發(fā)生,為此,下面結合本人在實踐中的體會,給出一種用Visual FoxPro實現(xiàn)的計算機自動組卷的方法和技術。
2 自動組卷方法
通過對現(xiàn)有無紙化考試系統(tǒng)分析,本人認為:要完成自動組卷,必須認真做好試題庫的準備。即嚴格把握試題庫的內(nèi)容和表現(xiàn)形式,這一基礎工作做好后,接著將其轉入到Visual FoxPro數(shù)據(jù)表中,最后通過計算機程序進行若干試卷的生成。
2.1 題庫的準備工作
試題庫的準備就是將按考試大綱知識點所命的試題,通過文字處理軟件錄入計算機中。為便于計算機自動組卷,每一試題除保證準確無誤外,還必須另設一特征碼,特征碼中包含試題所屬章節(jié)號、順序號、難易程度、題型、分值等。設定每一部分用2位表示,那么040506030201這一特征碼則代表第4章第5節(jié)的第6個題、難易程度為3、題型為2、分值為1分的一個試題。通過特征碼可將非結構化題庫轉換成結構化題庫。命題時還要注意,題庫中不能有完全相同的試題,當一道試題包含多個知識點時,應將該題歸入考核關鍵知識點所在章節(jié)中??傊_保試題惟一、試題內(nèi)容與特征碼所代表的含義要一致。試題錄入修改可用Word完成,錄入時注意一個試題未錄完不要按回車鍵,每試題可按特征碼、題干、答案或特征碼、題干、答案、選擇題選項的順序錄入。錄入時可按特征碼從小到大順序錄入,也可隨機錄入。
要提高試題庫的質(zhì)與量,庫中試題既能有效涵蓋課程的知識點,又要對重點部分有所側重。針對試題指標不同,分別配以一定數(shù)量的試題,使同樣指標試題的可選度大些。適當增加小分值的試題,使分數(shù)要求乃至卷面總分值能順利匹配成功。試題的各項指標值應有內(nèi)在聯(lián)系,需準確把握,如每一試題的分值、難度系數(shù)及參考答題時間等應對應,以便控制試卷的難度及答卷的時間等。高質(zhì)量的題庫至少應體現(xiàn)在兩個方面:其一,庫中試題是否能合理涵蓋該課程的內(nèi)容和知識點,且對重點部分有所側重;其二,為組卷需要而對庫中試題所制定的指標體系是否科學合理。
2.2 題庫數(shù)據(jù)表的生成
經(jīng)Word等文字處理軟件錄入的試題,其文檔結構為非結構化的,為了能在VFP中進行處理,先將試題庫的Word文檔格式轉換成VFP中能接受的文本格式,再將文本格式的試題庫變換成數(shù)據(jù)表形式,經(jīng)過二次變換后的題庫數(shù)據(jù)表具有由若干行和若干列組成的二維表結構,事實上,每行代表一試題,每列代表每試題的特征碼、題干、答案或特征碼、題干、答案、選擇題選擇項等。
2.3 自動組卷算法
通過初始化工作產(chǎn)生空試卷庫表、獲取試題庫表的參數(shù)(如每章每節(jié)試題數(shù)、每章節(jié)不同類型試題數(shù))。組卷要求中輸入:卷面總分、各章節(jié)分值分布、卷面所含不同題型數(shù)目、組卷套數(shù)M等。選題策略:每章每種題型個數(shù)在組卷要求可行情況下,均勻地從各章中隨機抽題。選題組卷是試題庫自動組卷的核心部分之一,系統(tǒng)進行組卷的方式方法是題庫系統(tǒng)自動生成有效(對測驗目標來說)試卷的關鍵。在自動組卷系統(tǒng)中,用戶僅僅提供試卷總分,試題總量,試卷難度,考試范圍或知識點,題型及比例等參數(shù),如何合理的分配不同難度下試題的數(shù)量是組卷算法中需要解決的問題。常用的組卷算法有三種:
隨機選取法:根據(jù)狀態(tài)空間的控制指標,由計算機隨機的抽取一道試題放入試題庫,此過程不斷重復,直到組卷完畢,或已無法從題庫中抽取滿足控制指標的試題為止。
回溯試探法:這是將隨機選取法產(chǎn)生的每一狀態(tài)類型紀錄下來,當搜索失敗時釋放上次紀錄的狀態(tài)類型,然后再依據(jù)一定的規(guī)律(正是這種規(guī)律破壞了選取試題的隨機性)變換一種新的狀態(tài)類型進行試探,通過不斷的回溯試探直到試卷生成完畢或退回出發(fā)點為止。
遺傳算法:是一種并行的、能夠有效優(yōu)化的算法,模擬達爾文的自然界遺傳學。運用遺傳算法求解問題首先需將所要求解的問題表示成二進制編碼,然后根據(jù)環(huán)境進行基本的操作:selection,crossover,mutation……這樣進行不斷的所謂"生存選擇",最后收斂到一個最適應環(huán)境條件的個體上,得到問題的最優(yōu)解。
隨機組卷策略是常用的組卷策略。
3 實現(xiàn)技術
3.1 Word文檔與VFP表的相互轉換
Word文檔轉換為VFP表:先將Word文檔的試題庫變成文本格式,再使用VFP中的"APPEND FROM 文本文件名 TYPE格式類型"命令將文本格式中的數(shù)據(jù)轉入事先建好的空數(shù)據(jù)表。
VFP表格式的試卷轉換成Word文檔:組卷生成的的試卷庫表,若需要編輯打印,可用VFP中的"COPY TO 文本文件名TYPE格式類型"命令轉換成文本格式,再將其選定后復制到Word文檔中。
3.2 隨機組卷實例
已知,試題庫中有80道試題,分成5種類型,每種類型有16個題,現(xiàn)要從每種類型題中隨機抽取1道題生成10份試卷,即每份試卷由試題庫中的5道題組成;設試題庫表名為ST.DBF,將要生成的10份試卷的試卷庫表名分別為SJ0.DBF、SJ1.DBF、……、SJ9.DBF,各表的結構相同,字段數(shù)均為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 結束語
本文闡述了無紙化考試中試卷自動生成的方法和技術,其方法改善了組卷效率、節(jié)省了大量人力、確保了試卷的覆蓋范圍和準確性、有利用于題庫的及時更新和維護,且組卷生成的試卷庫數(shù)據(jù)表可供各開發(fā)工具導入使用。但將Word格式的試題庫轉換到VFP數(shù)據(jù)表中的方法還有待進一步探討和改進。