隨機抽題算法_第1頁
隨機抽題算法_第2頁
隨機抽題算法_第3頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、隨機抽題算法0 引言隨機抽題是在線考試系統(tǒng)中的核心部分,目前大部分的在線考試系統(tǒng)或無紙化考試系統(tǒng)大都采用了隨機函數(shù)實現(xiàn)隨機抽題,但大部分在線考試系統(tǒng)在隨機抽題時存在抽題速度慢、試題覆蓋面不穩(wěn)定、重點不突出、靈活性差等問題。本文討論了優(yōu)化隨機抽題的方法,給出了具體的抽題公式和查詢語句。1 優(yōu)化使用隨機函數(shù)方法研究原始在線考試系統(tǒng)中,使用隨機函數(shù)從題庫中抽取試題,抽題公式為Int(Rnd*M)公式1。在抽取第一題時,直接將題號存放在指定的空數(shù)組中,表示抽取成功,以后每抽取一題,將題號和數(shù)組中已存在元素進行比較,若存在則抽取失敗,若不存在則抽取成功,并將題號依次存儲在該數(shù)組中,直到抽取結(jié)束。這種抽題

2、方法的缺陷是時間浪費。這種時間浪費在單機的時候并不明顯,但在B/S模式或C/S模式下,機器越多速度越慢。為了解決重復(fù)抽題,避免試題抽取過慢,可采用分段法、分類法和分類分段結(jié)合法。1.1 分段法 分段法是解決重復(fù)抽題最簡單的方法,其原理是將題庫中的試題M分成N段,然后從每段中抽取一題,抽取公式為Int(Rnd*(MN)+i*(MN)(0iN-1)公式2。分段法的優(yōu)點顯而易見,可以完全杜絕試題重復(fù)抽取,但對題庫中試題的數(shù)量有要求,即M>2N,且題庫越大、試題數(shù)量越多,抽取效果就越好。在公式2中將M等分成N段,M并不一定能被N整除,也就是說采用公式2試題庫最后M MOD N條試題永遠不會被抽取

3、,為了解決這個問題,可將公式2進行改進,設(shè)L=M MOD N,則抽取公式為Int(Rnd*(MN+1)+i*(MN+1)(0iL-1)公式3和Int(Rnd*(MN)+i*(MN)+L(LiN-1)公式4。分段法避免了重復(fù)抽取,但無法控制試題的覆蓋面及難易程度。1.2 1.2 分類法 分類法是在試題庫的結(jié)構(gòu)上添加相應(yīng)分類字段,字段可以是章節(jié)、內(nèi)容等,將所有試題按章節(jié)或內(nèi)容分類,從每一類中抽取一題,不僅可以解決試題的重復(fù)抽取還可以控制試題的覆蓋面。通常將分類字段的類型設(shè)置為整形,采用一組連續(xù)的整數(shù)作為分類字段的取值范圍,這樣方便在試題庫中對分類進行循環(huán)查詢,查詢語句為select*from試題庫

4、where分類字段名=i查詢1,設(shè)查詢記錄數(shù)為Mi,則抽題公式為Int(Rnd*Mi)公式5。分類法可以保證試卷的覆蓋面,但沒有側(cè)重點。1.3 1.3 分類分段結(jié)合法 分類分段結(jié)合法在抽取試題時先分類,然后根據(jù)設(shè)定給類分段,每類的分段數(shù)可以不同,從每個分段中抽取一題。這種方法要求在數(shù)據(jù)庫中另建分類分段表,存貯每個分類中的抽題數(shù)量,數(shù)量可以是零,表示該類中不抽取,可以是大于零并小于該類題量的任何一個數(shù)Ni,表示將該類分成Ni段,每段抽取一題。從實現(xiàn)角度上看,分段法和分類法使用的是一維循環(huán),分類分段法使用的是二維循環(huán);從訪問數(shù)據(jù)庫角度看,分段法和分類法僅訪問試題庫,分類分段法除了訪問試題庫外還要訪

5、問分類分段表。2 特殊要求下隨機抽題的應(yīng)對策略在實際應(yīng)用中,會對試題的抽取有一些特殊的要求。如何合理利用隨機函數(shù),在同一個試題庫中抽取出適合不同系別、專業(yè)使用的試卷?隨機函數(shù)并不是萬能的,不可能獨立處理以上問題,但是可以創(chuàng)造一個環(huán)境,隨機函數(shù)在這個環(huán)境中通過簡單的計算公式和相應(yīng)的算法為不同系別、專業(yè)抽取需求不同的試卷。為了營造這種環(huán)境,通常會通過兩方面來實現(xiàn):一方面是修改表結(jié)構(gòu);另一方面是提供一個界面可以針對不同系別、專業(yè)設(shè)計不同的抽題條件。2.1 修改表結(jié)構(gòu) 修改表結(jié)構(gòu)通常會在試題庫中添加章、節(jié)、難度系數(shù)、出題日期、出題教師等字段。添加章、節(jié)字段既可以精確抽題范圍,也可以避免抽到未學(xué)習(xí)的章節(jié)

6、。在抽取試題時針對完全學(xué)習(xí)的章和學(xué)習(xí)過部分小節(jié)的章可以采用不同的查詢方法,對完全學(xué)習(xí)的章,可以僅對章字段進行查詢:select*from試題庫where章=k查詢2,其中k為章數(shù),對學(xué)習(xí)過部分小節(jié)的章,除了對章字段查詢外還要對節(jié)進行查詢,可以針對某一節(jié)進行查詢:select*from試題庫where章=k and節(jié)=j查詢3,j為節(jié)數(shù),也可以針對與所有學(xué)習(xí)過的小節(jié):select*from試題庫where章=k and節(jié)in(j1,j2,jn) 查詢4,其中j1,j2,jn為該章中所有學(xué)習(xí)過的節(jié)數(shù)。難度系數(shù)字段可以根據(jù)系、專業(yè)學(xué)習(xí)的難易程度,抽取對應(yīng)試題的字段,針對不同的章、節(jié)的學(xué)習(xí)程度不同可以

7、有不同的難度系數(shù),以查詢3為例查詢可改為:select*from試題庫where章=k and節(jié)=j and難度系數(shù)=i查詢5,i為難度系數(shù)值。為了抽取方便,可以在試題庫的表結(jié)構(gòu)中添加出題日期字段,字段值為試題編輯日期,可以按日期的范圍抽取出符合條件的試題。每個老師教學(xué)的重點會有差別,使用其他教師的試題可能難以評定學(xué)生的學(xué)習(xí)成果,可在試題庫中加入命題教師字段,其值為命題教師工號,可以使用該字段為教師所帶班級抽取試題。2.2 2.2 提供設(shè)置抽題條件界面 試題庫雖然需要很多人不斷的維護,但其表結(jié)構(gòu)是相對穩(wěn)定的,只是在題目數(shù)量和內(nèi)容方面有所變化。但是作為使用在線考試系統(tǒng)的系部、專業(yè),每一年、每一個

8、學(xué)期都會變化,他們的抽題要求不盡相同,因此,在考試系統(tǒng)的后臺操作中需要一個設(shè)置系部、專業(yè)抽題要求的界面,在這個界面中可以通過簡單的選擇為每個系部、專業(yè)、班級設(shè)置若干抽題條件并存儲在抽題條件數(shù)據(jù)表中。學(xué)生抽題時先判斷學(xué)生的系部、專業(yè)、班級,然后從抽題條件數(shù)據(jù)表中讀取對應(yīng)的抽題要求,并將其轉(zhuǎn)化成查詢語句,在試題庫中查出符合條件的試題進行抽取。3 交換算法在隨機抽題中的應(yīng)用在大部分在線考試系統(tǒng)中采用現(xiàn)場隨機抽取,試題不完全相同;也有一部分考試系統(tǒng)中采用提前隨機抽取,即在考試前由老師啟動試題抽取程序,考試時所有的考生都使用這套試題,只是試題的順序不同。作為現(xiàn)場隨機抽取的方法前面已經(jīng)討論了,下面重點討論提前隨機抽取,提前隨機抽取前半部分由老師抽取一套試題和現(xiàn)場抽取實現(xiàn)方法完全相同,后半部分是從抽取的試題當(dāng)中使用隨機函數(shù)重新抽取一遍以保證試題順序不同。為了避免重復(fù)抽取,降低實現(xiàn)難度,有些考試系統(tǒng)在改變試題順序時采用了隨機函數(shù)結(jié)合交換算法的方法,設(shè)抽取的題目數(shù)量為M,將抽取的所有題號存儲在數(shù)組中,下標(biāo)從1到M,則抽題公式為j=Int(Rnd*M)+1公式6,使用循環(huán)For i=1toM,抽題公式放入循環(huán),將下標(biāo)為i的數(shù)組元素值和下標(biāo)為j的數(shù)組元素值互換,這樣可以得到一個新的試題排列4 結(jié)束語本文對隨機抽題的方法進行了深入的研究。文中不僅

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論