用ASP開發(fā)試題庫(kù)與在線考試系統(tǒng)(五)
...
4.3.2、查詢模塊
系統(tǒng)中的所有用戶均可檢索試題、試卷、用戶及留言等信息。只是試題檢索界面較復(fù)雜,但它已實(shí)現(xiàn)了多種條件的組合查詢,非常適合于數(shù)量繁大的試題庫(kù)。而后三者相對(duì)來(lái)說(shuō)比較簡(jiǎn)單,"默認(rèn)"或"空白"的情況下,則按該表中的系統(tǒng)默認(rèn)的字段顯示其全部信息。使用起來(lái)比較靈活、方便。
4.3.3、修改模塊
用戶除了只修改自己的部分資料(包括用戶帳號(hào)、密碼和E-Mail)外,還可修改試題及試卷,而留言則不許修改。只要用戶選擇科目和輸入編號(hào),即可進(jìn)行修改。不過(guò),對(duì)于各表中的主鍵不準(zhǔn)修改,避免了造成系統(tǒng)中的數(shù)據(jù)混亂,或者覆蓋其它有用數(shù)據(jù)的現(xiàn)象。如果用戶執(zhí)行了非法操作,則必須重新操作。
4.3.4、組卷模塊
在組卷過(guò)程中,我們肯定會(huì)遇到有許多題目是關(guān)于同一個(gè)教學(xué)內(nèi)容的,這里稱之為關(guān)于同一考核點(diǎn)的試題。因此,在組裝一份試卷時(shí),對(duì)于同一考核點(diǎn)的試題只能出一道題。這里設(shè)計(jì)一種快速選題算法,該算法只需經(jīng)一次比較,便可判定是否已選過(guò)該考核點(diǎn)的試題,且又可以有針對(duì)性地重點(diǎn)選取某個(gè)考核點(diǎn)的試題。即每一道題都設(shè)有一個(gè)相關(guān)碼,對(duì)于同一章、同一節(jié)、同一考核點(diǎn)的題,則相關(guān)碼相同,顯然,前面章節(jié)的相關(guān)碼都要小于后面章節(jié)的相關(guān)碼。故在組卷時(shí),同一試卷中不允許出現(xiàn)相關(guān)碼相同的試題。所以,在選題過(guò)程中每選出一題,就要與已經(jīng)選出的題的相關(guān)碼逐一進(jìn)行比較,若該題的相關(guān)碼與已選各題的相關(guān)碼均不相同,則可將該題加入到試卷中,否則,放棄該題,重新進(jìn)行選題。
下面,在只考慮最佳情況下,即每次選出的題都恰好是尚未選過(guò)的,每選一道題就要與已選出的各題逐一比較,假設(shè)已選出了M題,再選下一題時(shí),則需比較M次,不妨設(shè)一份試卷的總題數(shù)為N,在最佳情況下,則總的比較次數(shù)為:
0,1, 2,…N-2,N-1
即時(shí)間復(fù)雜度為O(N),這樣,就可保證下面算法中選擇出來(lái)的試題編號(hào)都合法。
上一條:用ASP開發(fā)試題庫(kù)與在線考試系統(tǒng)(四)
下一條:ASP字符串函數(shù)大全