前言:想要寫出一篇令人眼前一亮的文章嗎?我們特意為您整理了5篇數據結構試題及答案范文,相信會為您的寫作帶來幫助,發現更多的寫作思路和靈感。
【關鍵詞】試題庫結構;組卷目標;控制模型;組卷算法
【中圖分類號】G40-057 【文獻標識碼】B 【論文編號】1009―8097 (2008) 08―0101―04
一 引言
智能題庫系統是教育測量標準化、規范化的重要組成部分,其通用性主要取決于題庫的數據結構和組卷算法。一方面,題庫數據結構要能滿足不同課程的需要,冗余度盡可能小;另一方面,組卷算法要能適用于不同的題庫條件。根據這兩方面要求,本文提出一種新的題庫數據結構和組卷控制模型,并對組卷算法進行詳細設計。
二 題庫數據結構設計
不同課程雖然其試卷考查內容、使用對象不同,但都有試卷總分、考查章節、題型構成、試卷難度、區分度、考試時間等指標要求,并且試卷中的每道試題均具有知識點、認知分類、難度、題型、題分、試題內容、答案等屬性。與此同時,不同試題其內容和答案的構成元素差別也很大,簡單的只有文本,復雜的除文本之外,還包含圖像、公式等。
因此,為滿足不同課程試卷及其組卷算法的需要,我們設計了如下表結構:
(1) 題型表tb_itemType:保存題型信息,由題型代碼(主鍵,1個字符,取值a~z)、題型名稱(30個字符)和題型說明(200個字符)組成。
(2) 難度級別表tb_difficulty:保存題庫的試題難度信息,由難度級別(主鍵,最低難度級別為1,隨著難度的增加,難度級別依次加1)、難度級別名稱(10個字符)。
(3) 章節表tb_chapter:保存課程的章節信息,由章節代碼(主鍵)和章節名稱(30個字符)組成。
(4) 知識點表tb_knowledge:保存各章知識點信息,由知識點代碼(1個字符,取值a~z,多于26個知識點用希臘字母表示)、章節代碼和知識點名稱(30個字符)組成。知識點代碼和章節代碼聯合作主鍵,章節代碼參照章節表中的章節代碼。
(5) 試題屬性表tb_itemProperties:保存試題屬性信息,由試題編號(自動編號,主鍵)、題型代碼、章節代碼、難度級別、知識點代碼集(15個字符)、題分、抽取次數、抽取時間、停用標志(1-停用,0-未停用,默認值為0)組成。
題型代碼參照題型表中的題型代碼,章節代碼參照章節表中的章節代碼,難度級別參照難度級別表中的難度級別。知識點代碼集的編碼規則為章節代碼+知識點代碼,比如3fk12ejk表示該題涉及的知識點包括第3章的f、k知識點和第12章的e、j、k知識點。
(6) 試卷屬性表tb_paperProperties:保存已組試卷的屬性信息,由試卷序號(自動編號,主鍵)、試卷說明(200個字符)、題型順序(20個字符,用題型代碼表示)、題型集(50個字符)、章節集(100個字符)、難度集(50個字符)、已用標志(1-已用,0-未用,默認值為0)、使用對象(100個字符)、組卷時間組成。
題型順序保存各題型在卷面中出現的順序。題型集保存組卷目標中各題型分數設定值,編碼規則為:題型代碼+題型分數+$組卷誤差百分比,比如a15b20d10e25f20g10$10表示擬組試卷中題型a、b、d、e、f、g的分數設定為15、20、10、25、20、10分,各題型分數的組卷誤差不超過其分值的10%。章節集保存組卷目標中各章節分數設定值,編碼規則為:c+章代碼+s+章分數+$組卷誤差百分比,比如c1s15c2s15c7s20c10s20c12s30$10表示擬組試卷中第1、2、7、10、12章的分數分別為15、15、20、20、30分,各章節分數的組卷誤差不超過其分值的10%。難度集保存組卷目標中各難度分數設定值,編碼規則為:d+難度級別+s+難度級別分數+$組卷誤差百分比,比如d1s15d2s20d3s30d4s20d5s15$0表示擬組試卷中難度級別為1、2、3、4、5的試題分數分別為15、20、30、20、15分,各難度組卷誤差為0。
(7) 試卷試題表tb_paperItems:保存已抽取的試題信息,由試卷序號、試題編號組成。試卷序號參照試卷屬性表中的試卷序號,試題編號參照試題屬性表中的試題編號。
(8) 題庫文檔表tb_documt:保存題庫的試題內容文檔和答案文檔[1],由試題編號、試題內容(image類型,保存試題的內容文檔)和試題答案(image類型,保存試題的答案文檔)組成,試題編號參照試題屬性表中的試題編號。
三 組卷控制模型
1 試卷難度控制
試卷難度控制可通過離散型隨機變量的二項分布函數B(n,p)實現[2],即:
2 組卷目標設定與檢查
擬定一份試卷首先要確定試卷的總體目標,包括試卷總分、試卷難度、章節分數、題型分數、試卷區分度、考試時間,然后從題庫中抽出滿足總體目標要求的試題。這些目標中,試卷區分度與試卷難度相關,難度太高或太低的試卷其區分度不高,只有合適的試卷難度才能獲得較高的試卷區分度;考試時間與試卷總分和試卷難度相關,試卷總分高、難度大則需要的考試時間長。
因此,我們選取試卷分數、試卷難度、章節分數、題型分數作為組卷目標,并按試卷總分、章節分數、試卷難度、題型分數的順序設定各目標值。同時為避免組卷目標設定的盲目性,我們還根據題庫條件對所有的組卷目標值進行滿足性檢查[3]。
各組卷目標值的設定順序和檢查方法如下:
(1) 設定擬組試卷的總分S。
(2) 統計題庫中各章節無重復知識點的試題總分數S_Chap(i)。
(3) 設定擬組試卷中各章節分數SS_Chap(i)及其組卷誤差的允許值,要求SS_Chap(i)S_Chap(i)且∑SS_Chap(i)= S。
(4) 統計題庫中在所考核的章節范圍內各難度級別無重復知識點的試題總分數S_ND(j)。
(5) 設定試卷難度Q及其組卷誤差允許值,利用難度控制模型和Q值計算出試卷中各難度級別的試題分數SS_ND(j)(或直接設定擬組試卷中各難度級別的試題分數),要求SS_ND(j)S_ND(j)且∑SS_ND(j)= S。
(6) 統計題庫中在所考核的章節和難度級別范圍內各題型無重復知識點的試題總分數S_TX(k)。
(7) 設定擬組試卷中各題型分數SS_TX(k)及其組卷誤差允許值,要求SS_TX(k)S_TX(k)且∑SS_TX(k)= S。
3 組卷目標匹配順序控制
理想情況下,題庫中有分布均勻且題量足夠多的試題以供選擇,但實際往往并非如此,不同的組卷目標對應的試題分布范圍和選擇余地差別很大,所以組卷目標的匹配順序直接影響組卷成功率。
在設定的組卷目標中,試卷難度可以體現在各章節試題中,而各章節分數只能體現在本章節試題中,故章節的選擇余地小于試卷難度;此外,按分值從高到低的順序進行題型匹配,能夠為章節、難度和試卷總分的匹配留出盡可能大的選擇余地。因此我們采取了如下匹配順序:
(1) 按照平均分值從高到低的順序選擇待匹配的題型。
(2) 在當前匹配題型中按照各章節無重復知識點的試題數從少到多的順序循環匹配各章節,如果當前匹配的章節只有當前匹配題型的試題,則在當前章節匹配中完成該章節全部的抽題任務,否則至多抽取該章節一道試題。
本文為全文原貌 未安裝PDF瀏覽器用戶請先下載安裝 原版全文
(3) 在當前匹配的題型和章節中,按照各難度級別無重復知識點的試題數從少到多的順序進行難度級別匹配。
4 組卷目標匹配誤差控制
為實現組卷控制的靈活性,我們引入了組卷目標匹配誤差控制。設第i個組卷目標的設定分數為SS(i),誤差允許值為e_set(i),其未抽分數為NS(i),則該目標的匹配誤差為:
如果e(i)e_set(i),則第i個組卷目標完成匹配任務。當所有組卷目標的匹配誤差都處于誤差允許范圍內時,則匹配結束。
組卷開始時NS(i)=SS(i),組卷過程中每抽取一道分數為s的試題,則該題對應的所有組卷目標的未抽分數都減少s。
5 已抽試題回調
所有組卷目標匹配結束時,如果已抽試卷總分小于設定值,則通過調換部分已抽試題的方法,使已抽試卷總分等于設定值。用于調換的試題需滿足如下條件:
(1) 能使已抽試卷總分向著設定值的方向變化。
(2) 不能使試卷出現重復知識點。
(3) 不能使組卷目標的組卷誤差超出各自允許范圍。
回調過程結束后,如果已抽試卷總分等于設定值,則組卷成功,否則組卷失敗。
四 組卷算法設計
1 臨時表變量
為了提高數據的處理速度,我們把組卷過程中需要的中間數據全部保存在SQL Server的表變量中[4]。所需的表變量如下:
(1) 試題屬性表@Items:保存參與組卷的試題屬性信息,按抽取次數和抽取時間升序排列,字段包括試題編號、題型代碼、章節代碼、難度級別、知識點代碼集、題分、可抽標志(bit,1-可抽,0-不可抽,默認值為1)。
(2) 考試題型表@examTX:保存題型組卷目標的抽題信息,按各題型平均分值降序排列,字段包括ID(自動編號)、題型代碼、設定分數、未抽分數、可抽題數。
(3) 考試章節表@examChap:保存章節組卷目標的抽題信息,按各章節可抽題數升序排列,字段包括ID(自動編號)、章節代碼、設定分數、未抽分數、可抽題數。
(4) 考試難度表@examND:保存難度組卷目標的抽題信息,按各難度可抽題數升序排列,字段包括ID(自動編號)、難度級別、設定分數、未抽分數、可抽題數。
(5) 題型章節表@TXChap:保存各題型各章節中無重復知識點的可抽試題數量,字段包括題型代碼、章節代碼、可抽題數。
(6) 章節難度表@ChapND:保存各章節各難度級別中無重復知識點的可抽試題數量,字段包括章代碼、難度級別、可抽題數。
(7) 題型難度表@TXND:保存各題型各難度級別中無重復知識點的可抽試題數量,字段包括題型代碼、難度級別、可抽題數。
(8) 試卷表@paperItems:保存被抽試題的部分屬性信息,字段包括:ID(自動編號)、試卷序號、試題編號、題型代碼、章節代碼、難度級別、題分、知識點代碼集。
2 組卷算法
本組卷算法基于存儲過程和表變量實現。存儲過程的輸入參數包括擬組試卷的總分、題型集、章節集、難度集、試卷題型順序、使用對象、試卷說明,輸出參數為組卷結果標志。核心算法如下:
(1) 取@examTX中第一個待匹配的題型代碼@tx,@examChap中第一個待匹配的章節代碼@chap,@examND中第一個待匹配的難度級別@ND。
(2)若@chap章的組卷誤差大于其允許值 and @TXChap中題型代碼為@tx、章節代碼為@chap的可抽題數>0,則轉(3),否則轉(7)。
(3)若@ND難度的組卷誤差大于其允許值 and @ChapND中章節代碼為@chap、難度級別為@ND的可抽題數>0 and @TXND中題型代碼為@tx、難度級別為@ND的可抽題數>0,則轉(4),否則轉(6)。
(4) 若@Items中不存在題型代碼為@tx、章節代碼為@chap、難度級別為@ND、題分不大于當前組卷目標對應的最小未抽分數、可抽標志為1的試題,則轉(6),否則將該題的試題編號、題分、知識點代碼集插入@paperItems表中;將該題分數增加到已抽試題總分中;將@Items中所有與該題知識點相同的試題的可抽標志置為0;分別將@examChap中章節代碼為@chap,@examND中難度級別為@ND,@examTX中題型代碼為@tx對應的未抽分數減去被抽取的試題分數、可抽題數減1;分別將@TXChap中題型代碼為@tx、章節代碼為@chap,@TXND中題型代碼為@tx、難度級別為@ND,@ChapND中章節代碼為@chap、難度級別為@ND對應的可抽題數減1。
(5) 若 @chap章僅有@tx題型的試題 and @chap章的抽題誤差大于允許值,則轉(6),否則轉(7)。
(6) 循環取@examND中下一個待匹配的難度級別@ND,然后轉(3)。
(7) 若@tx題型的組卷誤差大于允許值,則循環取@examChap中下一個待匹配的章節代碼@chap,然后轉(2),否則轉(8)。
(8) 若已抽試題總分
(9) 若已抽試題總分
(10) 若已抽試題總分=試卷設定總分,則組卷成功,否則組卷失敗。
試題回調即從未抽試題中查找符合替換條件的試題并替換對應的已抽試題。算法如下:
(1) 試卷設定總分-已抽試題總分@k,@paperItems中第一道試題的記錄編號@i。
(2) 若@i所指試題對應的各組卷目標的未抽分數減少@k后其組卷誤差不超出允許范圍 and @Items中存在與@i所指試題同題型、同章節、同難度、分數多@k且與其它已抽試題無重復知識點的試題,則取該試題的試題編號@itembh,然后轉(3),否則轉(4)。
(3) 將@i所指試題的試題編號改為@itembh、題分增加@k;將@tx題型、@chap章、@ND難度對應的未抽分數減少@k;已抽試題總分增加@k;若試卷設定總分-已抽試題總分
(4) 取@paperItems中下一道試題的記錄編號@i,若@i@paperItems中最后一道試題的記錄編號 and 已抽試題總分!=試卷設定總分,則轉(2),否則轉(5)。
(5) 若試卷設定總分-已抽試題總分@k,則@k-1@k。
(6) 若@k>0 and 已抽試題總分!=試卷設定總分,則@paperItems中第一道試題的記錄編號@i,然后轉(2),否則回調結束。
五 算法測試
我們通過題量少且試題分布不均勻的模擬題庫對組卷算法進行測試。題庫中有100道試題(不同知識點的試題為50道),包括4種題型、5章、5級難度,第4章試題僅分布在c題型中,第5級難度試題僅分布在第5章中。在對該題庫進行的50次組卷實驗中,沒有經過試題回調而直接組卷成功的有42次,經過試題回調后組卷成功的有6次,組卷失敗2次,生成的試卷中除第4章試題外,其它各章、各難度的試題均能最大程度地分布在不同題型中。測試結果表明,本組卷算法對于題量少且試題分布不均勻的題庫仍然能夠取得很高的組卷成功率和組卷質量。
六 結論
本文給出的題庫數據結構通用性強、冗余度小,能夠滿足不同課程試卷的需要。同時,通過引入組卷目標的滿足性檢查、匹配順序控制、匹配誤差控制和已抽試題回調等控制策略,使得組卷算法能夠不受題庫中試題分布的限制,降低了算法對題庫題量的要求,提高了算法的適用性。
參考文獻
[1] 張文,陳世強.題庫系統試題存取方法的研究[J].計算機與現代化,2006,(3):97-99.
[2] 應繼儒,胡立新,龍毅等.試題庫隨機選題數學模型的構建及實現[J].計算機應用,2000,20(1):46-47.
[3] 朱守業.智能組卷中組卷目標的滿足性檢查與處理[J].微計算機信息,2007,23(21):268-269.
關鍵詞:全國計算機等級考試;二級公共基礎知識;重點與難點;應對策略
中圖分類號:G642 文獻標識碼:A文章編號:1009-3044(2007)05-11457-03
1 引言
2004年教育部考試中心對全國計算機等級考試(NCRE)的考試科目設置、考核內容、考試形式進行了全面調整,編制了新大綱。二級考試除了考試科目有所增減外,還統一增加了公共基礎知識部分。
新大綱出臺后,從2005年開始,二級公共基礎知識是所有二級考試科目必考的內容,考試大綱、試題內容完全相同。本文將根據新大綱的要求,結合近年來的考題,歸納總結了公共基礎知識部分涉及的每一章的考核重點和難點,闡述了順利通過考試的復習方法和應試技巧,以供考生參考。
2 考試內容及題型分布
公共基礎知識的考試內容包括數據結構與算法、程序設計基礎、軟件工程基礎和數據庫設計基礎等四方面內容,采用筆試形式,占二級筆試全卷的30分,其中選擇題10題20分,填空題5空10分。近兩年公共基礎知識考試的題型及分值分布如表1所示。
表1 2005-2006年公共基礎知識題型及分值分布
3 復習方法及應試對策
3.1 緊扣新大綱,選好復習資料
從整體上分析,新大綱規定的公共基礎知識涉及面廣,但難度不大,考試涉及的內容都是基本概念、基本方法和基本運算,考核以概念和認識性內容為主,理解性、應用性內容極少,考點也相對集中些。往往有考生認為這部分知識在考試中只占30分,而涉及的面太廣,花了時間也不一定能有好的收效,與其這樣,還不如放棄,這種想法是不可取的。
另外,建議考生選用由教育部考試中心指定,高等教育出版社出版的《全國計算機等級考試二級教程――公共基礎知識(2004年版)》,該教程按考點進行復習,針對性強,配套的課后習題,非常實用。
3.2 考試重點與難點剖析
復習的關鍵是準確判斷和掌握常見考點,結合教材,回顧歷年試題,總結出公共基礎知識的重點和難點至關重要。
3.2.1 數據結構與算法
數據結構與算法是公共基礎部分的重點,在歷年考試中試題比較靈活,所占分值較大。復習本章的內容必須進行理解,死記硬背是無效的,要注意各個知識點之間的聯系和區別。
3.2.1.1 數據結構
3.2.1.1.1 邏輯結構和存儲結構的概念及其區別
邏輯結構是反映元素之間的邏輯關系,可分為線性結構和非線性結構。存儲結構,也稱物理結構,可分為順序存儲、鏈式存儲等。數據的邏輯結構與數據的存儲結構不一定相同。該考點一般以兩種方式出現:
(1)直接考概念,例:2005年4月(1),數據的存儲結構是指
。A)存儲在外存中的數據;B)數據所占的存儲空間量;C)數據在計算機中的順序存儲方式;D)數據的邏輯結構在計算機中的表示。另外,2005年9月(4),要求考生判斷邏輯結構與存儲結構的區別;
(2)數據結構分類問題。這一考點出現的頻率較高,先后出現在2005年9月[5],2006年4月[5],2006年9月[5]。
3.2.1.1.2 棧和隊列
棧和隊列是一個必考的知識點,在學習過程中,要深刻理解和掌握棧和隊列的特點,包括邏輯結構特點和不同的存儲結構的特點,了解進棧、退棧和入隊、退隊時指針的變化。
2005年4月[2],2005年9月[3],2006年4月[4]及2006年9月[4]都涉及到了這一考點,4次的考題非常相似,主要考查棧的特點:(1)棧是一種特殊的線性表,只能在一端插入或刪除元素;(2)按照“先進后出”(“后進先出”)原則組織數據。
3.2.1.1.3 樹
二叉樹是考核的重點也是本章的難點。二叉樹的性質和遍歷規則要牢記并靈活運用。
(1)二叉樹的性質,即二叉樹的結點問題。例:2005年4月[1],某二叉樹中度為2的結點有18個,則該二叉樹中有____個葉子結點;2006年4月(7),在深度為7的滿二叉樹中,葉子結點的個數為____。兩道試題都是給出條件然后求葉子結點個數,考生只要掌握了二叉樹性質,就可以輕松答題;
(2)二叉樹的遍歷問題:給圖求遍歷序列,給出兩種遍歷求第三種遍歷等。例:2006年4月(6)和2006年9月(10)給出一棵二叉樹后,分別要求后序遍歷和前序遍歷的結果。
3.2.2 算法
3.2.2.1 算法的基本概念
包括算法的定義、特征、組成要素、算法復雜度,其中算法復雜度是考試重點。這一考點分布在2005年4月[5],2005年9月[2],2006年9月[7],此處不再累述。
3.2.2.2 查找:順序查找和二分法查找
主要以計算最好/最壞/平均查找次數的方式進行考核。例:2005年4月[4]對長度為n的線性表進行順序查找,在最壞情況下所需要的比較次數為_____。A)log2n;B)n/2;C)n;D)n+1。而2005年9月(8)的考題與此基本相似。
3.2.2.3 排序
掌握教材中涉及的幾種常用排序方法,主要以比較各種排序在最壞情況下的比較次數的形式考核。例:2005年4月(3)對于長度為n的線性表,在最壞情況下,下列各排序法所對應的比較次數中正確的是。A)冒泡排序為n/2;B)冒泡排序為n;C)快速排序為n;D)快速排序為n(n-1)/2。相似的題目出現在2006年4月【1】。
考生對查找和排序往往無從下手,實際上,在復習過程中,只要牢記各種排序和查找的時間復雜度,學會比較,真正答題時,還是能輕松應付的。
3.2.3 程序設計基礎
程序設計基礎主要是一些記憶性的知識點,這部分內容在歷年的考試中所占比分很小,復習時只要對這部分內容細讀后理解即可。
3.2.3.1 面向過程設計方法
熟悉程序設計方法與風格,結構化程序設計原則等。該考點出現在2006年4月(1),2006年9月(1)中。
3.2.3.2 面向對象的程序設計方法
理解并掌握一些基本概念和術語:對象(類的實例)及其特點、屬性、方法、事件、消息、類(對象的抽象)、封裝、繼承、多態等。例:2005年4月[2]在面向對象方法中,類的實例稱為_____。2006年4月[2]在面向對象方法中,_____描述的是具有相似屬性與操作的一組對象。
3.2.4 軟件工程基礎
軟件工程基礎的知識點以記憶為主,但不同于其他科目的記憶;專業的名詞術語要牢記,而相關的技術和概念解釋則應理解并熟記。
3.2.4.1 軟件工程基本概念
主要考查軟件的定義;軟件工程的定義、要素、核心思想;軟件生命周期及其三個階段的主要活動和任務。這一考點,在每次的考試中都有涉及,具體分布在2005年4月(8),2005年9月(5),2005年9月(7),2006年4月(3),2006年9月(3)。
3.2.4.2 結構化分析方法
了解結構化分析的幾種常用工具,重點掌握結構化數據流程圖(DFD)的表示方法及主要圖形元素的功能含義。
3.2.4.3 結構化設計方法
(1)軟件設計的原則:抽象、模塊化、信息隱蔽、模塊獨立性。其中模塊獨立性是重點,耦合性和內聚性是兩個度量標準。一般的優秀軟件應做到高內聚,低耦合(2005年4月(7)的考點);
(2)概要設計和詳細設計。熟悉結構圖的基本圖符含義;掌握結構圖的相關術語:深度、寬度(2006年9月【1】的考點)、扇入與扇出等;了解常用的設計過程設計工具(流程圖、N-S圖、PAD圖及PDL)的表示法。
3.2.4.4 軟件測試和程序調試
(1)測試與調試的區別:測試的目的是為了發現錯誤,這一過程貫穿整個軟件生命周期;而調試的任務是診斷并改正程序中的錯誤,主要在開發階段。例,2005年4月(6)與【3】就分別涉及到了測試的目的與調試的任務。同一考點又出現在2006年9月【2】;
(2)靜態測試與動態測試。例:2006年4月【4】程序測試分為靜態分析和動態測試。其中____是指不執行程序,而只是對程序文本進行檢查,通過閱讀和討論,分析和發現程序中的錯誤;
(3)白盒測試與黑盒測試:白盒測試是內部的結構測試,黑盒測試是外部接口的功能測試。這一知識點,盡管在歷年試卷中未曾出現,但考生也應引起重視。
復習這部分內容時,建議通過比較來掌握。
3.2.5 數據庫設計基礎
數據庫設計基礎也是考核的一個重點,涉及面較廣,但除了關系運算會考一些簡單的計算問題外,其余的都是以概念題的形式考核。
3.2.5.1 數據庫系統的基本概念
分析歷年試卷發現這一部分內容涉及的考題量較大,考點也是面面俱到。
(1)數據庫系統組成。例:2006年4月(10):數據庫DB、數據庫系統DBS、數據庫管理系統DBMS之間的關系____ 。2005年9月(10):數據庫系統的核心是____。數據庫設計的根本目標則分別出現在2005年9月(8)和2006年9月(9)中;
(2)數據庫系統的發展。考生要熟知數據庫系統發展的三個階段,了解不同階段的特點。例:2005年9月【1】數據管理技術發展過程經過人工管理、文件系統和數據庫系統三個階段,其中數據獨立性最高的階段是____;
(3)數據庫系統的特點。在2005年4月(9)和2006年4月(5)的考題都考了數據獨立性這一特點;
(4)數據庫的內部體系結構。三級模式與二級映射構成了數據庫系統內部的抽象結構體系。例:2006年9月(4)在數據庫系統中,用戶所見的數據模式為____。A)概念模式;B)外模式;C)內模式;D)物理模式;
3.2.5.2 數據模型
(1)E-R模型。要會分析兩個實體集間的聯系并會E-R圖示法。對于這一考點,不能死記硬背,考生應通過分析大量實例,通過練習來理解并掌握。考生可參見2006年9月(4),2006年4月(9)考題;
(2)層次模型與網狀模型。了解這兩種模型的基本結構即可。例:2005年4月(10)用樹形結構表示實體之間聯系的模型是____;
(3)關系模型。這是考核的重點,要求掌握關系模型中的一些常用概念,例:2005年4月【4】,2006年4月【3】的考題相似:每一個二維表稱為___。2006年9月【3】一個關系表的行稱為____。
3.2.5.3 關系運算
包括關系模型的基本運算和擴充運算。應熟悉各種運算的過程和結果,重點掌握交、并、笛卡爾積、除等運算。例如,2006年9月(6)和2005年9月(9)的試題,就分別涉及了交、笛卡爾積運算。對于以上信息,考生應引起充分重視,復習時應通過多次練習掌握各種操作間的規律。
3.2.5.4 數據庫設計
重點掌握數據庫設計的四個階段,即需求分析、概念設計、邏輯設計和物理設計,具體過程了解即可。這一考點在歷年試題中只出現在2006年9月(5)的試題中。
3.3 把“知識點”連成“知識鏈”
二級公共基礎知識內容零散,知識點之間的跳躍性大,似乎沒有連續性。考生往往覺得難以掌握,似懂非懂,對知識點處于模糊認知狀態。因此在學習過程中,應把“知識點”連成“知識鏈”。例如,在復習數據結構這部分內容時,應將每種邏輯結構和其對應的不同存儲結構進行分析、比較和總結,將內容零散,跳躍性大的知識點串成“知識鏈”。
3.4 切忌題海戰術
對二級考試公共基礎知識,沒有必要做大量的題目,更不能為了應付考試記住一大堆錯誤答案。
3.5 答題時,不要拖延時間
公共基礎知識考題的難度不大,一道題在兩分鐘內如果沒有任何思路,就應該跳過此題,把時間讓給后面的題目,這是考生應該考慮的一個“成本/效果”關系。
4 結束語
全國計算機等級考試以應用能力為主,劃分等級,分別考核,用于提供最具權威的資質證明。本文介紹的二級公共基礎知識的復習方法和解題技巧,能夠為參加全國計算機等級考試(各類二級)的考生提供一些幫助和參考。
參考文獻:
[1]全國計算機等級考試二級教程――公共基礎知識(2004年版)[M].教育部考試中心 高等教育出版社,2004(5).
[2]黃慶宏,丁為民.全國計算機等級考試真題(筆試+上機)詳解與樣題精選(二級公共基礎知識+Visual Basic).清華大學出版社,2005(2).
關鍵詞 計算機;考試系統;案例分析題
中圖分類號:G434 文獻標識碼:B 文章編號:1671-489X(2013)03-0069-03
Processed by Computer Case Analysis Problem of a Kind of Method of Design and Implementation//
Guo Xichun, Tian Zhenqing
Abstract In general exam, case analysis problem is a common topic. When using the computer as the testing tool, the cases of setting respectively topic and collect the information of the answer in complete test node should be taken into consideration. This article puts forward to designing of the application of the topic from problems of inputting, data storage, examination paper presents and so on with application examples.
Key words computer; exam system; case analysis problem
在傳統紙質考試中,案例分析題是一種常見題型。一般的案例題與簡答題類似,只有一段文本題干描述,用計算機可以簡單進行處理。但另一種案例分析題的處理相對復雜,即先給出完整案例進行閱讀和分析,然后針對其中的多個節點分別設置題目并進行回答,也就是在一個完整案例中穿插多個題目,案例描述與題目混排。這與一般案例題中每題目只包含一段描述的方式不同,處理起來有一定的難度。下文即針對這類題目給出一套完整的處理方案。現以“蒙古文版職業技能鑒定考試系統”(下文簡稱“考試系統”)為應用實例,分析其實現過程。為表述方便,下文將該題型稱為“多點案例分析題”,并約定包含多個問題的案例描述稱為“案例”,其中的問題稱為“題目”。
1 背景分析
1.1 一般考試系統特點
一般的計算機考試中,不論是單機考試,還是B/S模式或C/S模式的網絡考試,其基本的試題存儲模式大體相同,主要包括題干、備選項(用于選擇題)、考生答案等字段,每題目為一條數據庫記錄,題目之間相對獨立,一般沒有包含關系或順序關系,以題型進行歸類成組[1]。
1.2 多點案例分析題的呈現要求
1)一個完整的案例題由大段描述和若干道題目組成,題目穿插在描述中,內容與描述中的關鍵點相關;2)題干中可以包含表格、圖片、公式及特殊符號等非純文本信息,并可以包含文本格式信息,以滿足完整案例的描述需要。
1.3 自動組卷、試題管理、評分與答案處理要求
在多點案例分析題中,各題目與案例描述相關,順序和位置相對固定。但為了在自動組卷時題目可以有一些變化,如題目可以在考查同一知識點的多道備選題中任選一道來呈現,或者選擇題的備選項順序可以變化等,就要求每道題目的數據應與案例數據分開存儲。這樣一來也滿足了題目集中管理的要求,以及評分和答案處理的方便。
2 試題保存與輸入
2.1 確定存儲格式
基于多點案例分析題的呈現特殊要求,確定使用MHT格式存儲案例數據。MHT格式是一種單一文件的網頁格式,可以包含格式化文本、表格、圖片等內容,并將全部數據存儲在一個文件中,方便處理。該格式可以用Word環境直接進行編輯,也可以用IE環境讀取并顯示,對試題編輯計算機軟件環境和考生機軟件環境要求都較低。該格式全部數據為純文本格式,方便存儲和在網絡中傳輸,并可以用較簡單的方式進行數據壓縮、加密、內容檢索等操作。
2.2 數據結構[2-3]
基于案例與題目分別存儲的思想,可以設置案例數據表與題目數據表。案例數據表用于存儲案例編號與MHT格式的案例數據;題目表用于存儲案例中包含的各題目的數據,字段除一般考試系統的試題表字段外,還必須包括所屬案例編號以及在案例中的位置和順序信息,如案例內編號或順序號。數據結構如表1、表2所示。
2.3 案例輸入
為方便案例的輸入與編輯,一般將案例輸入與編輯功能集成在試題管理程序中,可以在一個集成界面中完成案例輸入、保存、讀出、編輯、預覽等操作,以及案例中各題目的相關編輯操作。
在“考試系統”中,使用嵌入式Word控件來實現對案例內容的編輯,但沒有將Word控件直接嵌入窗口,而是先在窗口中嵌入一個IE瀏覽器控件(WebBrowser控件),然后使用WebBrowser控件的Navigate方法來加載MHT文檔,Navigate方法將調用系統默認的MHT編輯控件(一般為Word)來加載MHT文檔,并生成相應的編輯界面(即Word編輯界面,包括工具欄)。
該方法利用了WebBrowser控件對Word環境良好的控制能力,有效地減少了代碼量,并回避了Word版本兼容問題,使程序兼容性更好。同時,可以通過WebBrowser控件的Document方法獲取對文檔對象的控制,來完成打開、保存、復制、粘貼、查找等操作,對文檔的控制能力并沒有降低。
2.4 題目輸入
基于試題管理的要求,題目與案例應分別輸入和存儲,每道題目有唯一的題目編號,以及獨立的題干、答案、分數等信息,并包含所屬案例編號,以明確與指定案例的所屬關系。同時,為了確定題目在案例中出現的位置和順序,為每道題目設置案例內編號,該編號在案例內唯一且有序。以上內容均為每道題目要輸入的信息。
為題目設置案例內編號后,應在案例描述中要求出現該題目的位置處設置標識,以便考生機顯示試卷時按標識讀取題目。在“考試系統”中,使用“(--”+案例內編號+“--)”的格式插入題目標識,如案例內編號為5的題目標識為“(--5--)”。為確保該標識在案例描述中是唯一的,在插入標識前用查找替換的方法對案例描述進行預處理,將所有包含“(--”的文本替換為“( --”,即在括號后加入一個半角空格。
在輸入界面的設計中,為方便輸入,可以將案例輸入與題目輸入設置在一個界面中,這樣可以進行對照輸入和文本復制。
3 試題呈現
3.1 案例呈現[4]
考生機程序顯示完整案例時,同樣使用WebBrowser控件顯示通過網絡傳來的MHT格式數據,因為一般Windows系統都包含有IE瀏覽器,所以能確保大多數計算機可以正確顯示題目。
讀取并顯示案例的過程為:
1)接收從網絡傳來的MHT格式文本數據,保存在內存變量中;
2)對MHT數據進行預處理,將數據中的“3Dus-ascii”及“us-ascii”替換為“gb2312”,以解決大多數漢字編碼問題;
3)接收從網絡傳來的題目數據,保存在內存數據集中;
4)讀取第一道題目的案例內編號,在案例文本變量中查找該編號對應的標識字符串,如編號為5,則查找“(--5--)”,在找到的位置處用題干文本替換該標識,也可在題干前后加入基于HTML語言的格式控制標簽,如背景顏色、字體、字號等。
5)重復執行上一步,依次將所有題目替換完成;
6)利用VB的文件操作代碼,將處理完成的MHT案例文本數據保存為臨時文件“~temp.mht”,并使用WebBrowser控件的Navigate方法來加載該MHT文檔,即完成案例題目的顯示,考生即可在獨立的答題區中做答。
3.2 選擇題備選項處理
在考生機程序中,為防止同一機房考生抄襲,可以對選擇題備選項進行隨機交換處理。“考試系統”中采用同步交換備選項與答題區選擇框的方法,假設備選項有5個,處理過程為:
1)將備選項保存在下標為0~4的數組中;
2)隨機生成0~4的數字排列,如3、1、4、2、0;
3)依次取備選項數組中下標為3、1、4、2、0的元素,加上A、B、C、D、E的標識,顯示在題干下方;
4)在答題區中生成該題對應的5個答題選擇框控件(單選題為單選框,多選題為復選框),分別標識為A、B、C、D、E,5個控件的附加屬性(VB為Tag屬性)分別為3、1、4、2、0;
5)當考生單擊某一選擇框時,讀取控件的附加屬性,即可獲得對應的備選項下標。
利用以上方法,可以在考生機程序中使用簡單代碼呈現隨機備選項排序,有效防止考生作弊。
4 總結與應用
本文設計的處理方案較好地解決了針對完整案例中各關鍵點分別設置題目,案例描述與題目混排的問題。該方案通用性較強,可以用于各科各類考試系統,也可以用于包括選擇題在內的各種題型;因題目與案例分別存儲,題目的后期處理與一般考試系統相同,可以與其他題目統一進行評分、數據統計、分析等工作;該方案數據結構簡單,程序實現也較容易,也可以與其他相關程序相整合,具有較好的可擴展性。
本文闡述的解決方案在“中小學教師教育技術能力測試”工作中投入使用,已針對全區約16萬中小學教師進行了測試,取得良好的效果。
參考文獻
[1]逯洋.計算機輔助考試系統開發中細節技術的探討[J].通化師范學院學報,2009(12):39-40.
[2]張學清.Windows環境網絡考試系統的設計與實現[D].哈爾濱:哈爾濱工程大學,2003.
關鍵詞:C/S模式;多層結構;Access;考試系統;Delphi;隨機選題;實時評分
中圖分類號:TP311.52
數字化建設以實現數字化網絡環境、資源、學習和工作環境、科研和管理、信息化和現代化等為最終目標[1]。為提高廣大科技干部的理論水平,加快崗位數字化訓練建設進程,創建無紙化學習與考試環境,考慮到考試保密性、安全性和多專業等需求,本文采用Delphi7.0軟件開發基于C/S模式多層結構的在線崗位訓練考試系統,系統使用Microsoft Access數據庫。本軟件具有計算機自動組卷、實時評分、隨機抽取考試題目、模擬考試等功能,使考試工作標準化,技術人員可隨時對知識掌握程度和質量進行評估。
1 系統開發相關技術
1.1 基于C/S模式的多層結構
兩層C/S結構具有可靠性低、靈活性差、資源浪費、維護費用高等結構缺陷[2],其業務邏輯和表達邏輯在一個處理過程中存在,每連接一臺電腦就會建立一個數據庫連接,電腦的增加會加大數據庫服務器的負載,使效率變低[3]。多層結構的C/S模式,將中間業務邏輯層獨立出來,具備可按應用要求部署邏輯層次、網絡效率提高、管理性強、重用性好等優點[3-4]。
1.2 Delphi7.0和Microsoft Access數據庫
Delphi程序可快速進行模塊化編程,在集成環境、圖像編輯(Image Editor)和強大的數據庫功能[5]。系統使用Microsoft ActiveX Data Objects(ADO)和可以處理少量數據的Microsoft Access數據庫[6],針對崗位幾個專業的數據庫題庫設計,在少量用戶訪問數據庫時效率很高。
2 基于TCP/IP通信的三層C/S結構設計
三層C/S結構表達邏輯獨立,可在客戶端上進行設置;業務邏輯放在服務器上,這種結構對數據庫的連接減少[3]。在線訓練考試系統由基于C/S架構的多層結構組成,包括數據庫服務器(數據服務層)、應用程序服務器(業務邏輯層)和客戶端程序(數據表示層)三部分。
2.1 主要技術參數
系統采用數據庫服務器中的Microsoft Access數據庫來存儲提交的答案。應用程序服務器要通過各種接口來完成查詢、數據錄入、分析等工作,并采用數據模塊Remote Data Module,控件TADOconnection、TADOtable和Tdataset Provider與數據庫服務器連接。客戶端程序由用戶界面和自動評分系統組成,進行時間記錄、自動評分及與應用服務器傳遞數據。若在考試系統安裝過程中服務器計算機發生變動,則客戶端和服務器連接采用動態連接。安裝客戶端的電腦必須要連接服務器來獲取服務,且要保證位于服務器的中間件與接口程序正常,使用TCP/IP協議與應用服務器之間進行通訊。考試系統采用TDBgrid組件顯示數據,利用Tdatasource獲取數據,可對TDBGrid表數據進行修改,再通過TclientDataset部件向應用服務器發送更新數據請求[7]。
當上述工作都準備好后,啟動在線訓練考試系統,彈出服務器配置窗口,配置客戶端所連服務器的名稱、IP地址和連接傳遞信息所用的端口地址。若中間件、接口程序和系統程序都安裝在作為服務器的電腦上,則服務器名與IP地址相同。在作為服務器的電腦不改變的情況下,客戶端上服務器配置完畢,進入考試系統就不用再配置。系統采用ACCESS數據庫保存提交的考試答案。考試系統具有自動交卷和自動評分功能,成績存儲在服務器的數據庫中[8]。
2.2 系統實現過程
2.2.1 數據庫服務器設計
考慮到實際需求,把每個崗位的計算機作為一個客戶端,安裝一個在線訓練考試系統,通過點擊隨機抽題、提交試卷按鍵,可與服務器存儲的主數據庫進行交換,繼而發送給各崗位計算機。服務器不執行數據處理,只有在點擊上述按鍵時,才會發送請求數據,把整個數據集通過網絡發送給正在進行訓練考試的計算機[9]。
將各崗位試題存儲到系統數據庫中,普通用戶也能建立自己的題庫系統,為避免無關人員對數據庫修改,數據庫可設定密碼。建立系統數據庫test.mdb,存儲于數據庫服務器上設置為共享的文件夾下,文件路徑為:C:\在線訓練考試系統\系統數據庫\Pserver\Databasefolder。
2.2.4 用戶界面設計
(1)考試系統
(2)隨機抽取試題功能的實現
系統擯棄人工抽取試題組卷,采用快速自動的系統隨機生成抽題。基本原理是:利用random()函數循環生成題號,再比較生成的題號,不重復就記錄在Pick_Questions[i]數組中。目的是給用戶提供更快捷的考試節奏,隨機選題更能體現試卷的客觀性。主界面上設計了相應的按鈕控件,對按鈕控件添加命令代碼,可以實現隨機抽取試題操作。
(3)考試時間記錄
考試系統的目的在于檢驗和增強科技干部對于崗位知識掌握的熟練程度,設計時沒有規定固定的考試時間段。在考試界面按下按鈕后,開始時間以當前系統時間被記錄到試題數據庫的表Login中,當點擊后,結束時間以當前系統時間也被保存。
3 實時評分
提交試卷后考試界面上方會出現成績,記錄在數據庫表Login中。
3.1 題型計分
4 結論
基于多層C/S架構,使用Delphi7.0軟件開發,選擇Microsoft Access作為系統數據庫的在線崗位訓練考試系統使技術人員隨時隨地對崗位技能知識進行考核,可長期保存考試信息、便于管理存檔,加快了崗位信息化建設步伐,具有實用性和很重要的推廣價值。
參考文獻:
[1]郭清順.高校數字化校園建設的整體目標與實施策略[EB/OL].http:///2003/xxzy/yth/text/mubiao.ppt.
[2]孫志鋒,徐鏡春,歷小潤.數據結構與數據庫技術[M].杭州:浙江大學出版社,2004:186-189.
[3]李煥哲,張有華,陳宜英,劉曉亮,郭大權,曹強,王凡.Delphi三層結構在網上考試系統中的應用[J].河北省科學院學報,2004,21(2).
[4]李舒,陳麗君.高校學生成績管理系統的設計與實現[J].遼寧大學學報,自然科學版,2006,33(3):283-285.
[5]Macro Cantu. Delphi7從入門到精通[M].北京:電子工業出版社,2003:242-255,422-426.
[6]田紅宇,張斌,李國霞.Delphi環境下基于ADO對象動態創建和連接加密的Access數據庫[J].數據庫及信息管理,2011,28-29.
[7]陳振慶.基于Delphi/Access的C/S系統設計[J].廣西右江民族師專學報,2006,19(3):68-72.
[8]張新軍.自動考試系統的設計與實現[D].電子科技大學.2008.
[9]崔再惠.Access數據庫與SQL Server數據庫主要功能的比較[J].鞍山師范學院學報,2009,11(6):51-52.
[10]何定華.基于C/S模式的遠程在線考試系統的原理及其Delphi實現[J].電子與計算機技術,2011,10(1):63-65.
摘 要:針對當前應用中的答題卡閱卷系統和圖像識別閱卷系統的不足,該文構建了基于XML的網上閱卷系統,充分利用試卷結構的邏輯性,將試卷版面結構用XML語言文檔描述,生成XML文檔,再對其解析生成DOM樹,進而獲取試卷版面分割所需的坐標信息。實際表明,基于XML的網上閱卷系統在實際應用中具有通用性,能夠提高閱卷效率。
關鍵詞:XML技術 網上閱卷系統 DOM樹
中圖分類號:G424.79 文獻標識碼:A 文章編號:1672-3791(2016)09(c)-0019-02
相比傳統的閱卷方式,網上閱卷具有很多優勢。但是,目前的網上閱卷存在一定的問題和不足,所以該文構建基于XML技術的網上閱卷系統,從閱卷的流程以及方法上加以改進。具體工作是通過XML文檔描述試卷的邏輯結構,利用DOM解析后生成試卷坐標信息。圖像試卷通過結合先前基于元數據建立生成的XML文檔,進行精確定位,實現試卷圖像的準確分割,再將考生試卷生成的XML文檔經過二次解析,生成考卷客觀題答案的DOM樹,與試卷標準答案的DOM樹進行匹配,得出試卷的分值。
1 需求分析
針對網上閱卷的具體工作流程,可以分為以下4個環節。
(1)試卷模板設計:試卷模板的設計用以生成XML格式的試卷,進而通過解析生成DOM標準試卷。(2)圖像的預處理:圖像預處理是將考生試卷圖像數據庫中的數據通過XML模板庫轉化為標準圖像。(3)試卷圖像與試卷XML文檔轉換:對標準圖像進行轉換,用以實現試卷圖像分割,生成考生試卷XML文檔,經過解析生成考生試卷DOM文檔。(4)閱卷:閱卷分為客觀題和主觀題,客觀題系統進行自動閱卷,主觀題通過閱卷客戶端評閱。
對上述4個環節,從系統用戶的角度進行分析,可以將系統劃分為五大模塊。
(1)試卷設計模塊:定義試卷結構,通過XML語言進行描述。(2)試卷掃描模塊:通過掃描生成二進制的圖像試卷,為后續的評閱奠定基礎,需要說明的是,務必要保證掃描的質量。(3)圖像預處理:通過圖像預處理保證試卷圖像分割的準確性。(4)圖像分割、識別、轉換試卷設計模塊:該模塊是將試卷圖像信息轉換為XML文檔,進而通DOM解析生成坐標樹,接下來進行圖像的分割、存儲,這些工作完成后,通過XML模板進行精確定位,以便不同的閱卷人批閱試卷的不同部分。可以說,該模塊是該文研究的重點,也是該文的核心和亮點。(5)主客觀題評判模塊:根據試卷考題類型分為主觀題和客觀題,因二者性質的不同,在系統中通過不同的方式完成試題的評判。同樣,需要進行XML的處理和DOM樹的解析工作,具體步驟此處從略。
2 總體設計
基于XML技術的網上閱卷系統在總體設計上,分為3層構成,分別是評卷客戶端、網上閱卷管理和后臺管理,其具體結構如圖1所示。
分層的目的是為了簡化問題的處理,在邏輯上更加清晰。評卷客戶端是用戶與系統的入口,針對網上閱卷系統來講,用戶有管理員和教師,管理員擁有系統操作的最高權限,而教師的操作權限由管理員統一分配和管理;網上閱卷管理是系統設計的核心,處于系統架構的中間層次,需要和評卷客戶端和系統數據庫及后臺管理交互,在業務上比較復雜;后臺管理主要是對網上閱卷具體流程不同階段的控制;而在網上閱卷管理和后臺管理的交互過程中,系統數據庫是二者交互的中樞,負責相關實體信息(比如試卷信息、閱卷老師信息等)的存儲和讀取。
在該設計中,涉及到的數據實體有:教師實體、管理員實體、XML模板實體、試卷實體、題型實體、試題實體、圖像試卷實體、客觀題實體、主觀題實體等。
3 核心業務的設計
該節通過XML文檔描述試卷的邏輯結構,再結合XLST的設計樣式,實現學生試卷的數字化呈現,方便后續的閱卷。
(1)試卷版面結構設計。為了提高系統的通用性,彌補當前網上閱卷系統存在的不足,該文在試卷版面結構的設計上,引入試卷模板結構,通過提前設定好的試卷邏輯框架以XML模板的形式保存在數據庫中,通過系統工作引擎驅動整個閱卷過程。
(2)試卷版面的Schema模式。在XML技術中,數據的合法性和規范性描述技術有DTD(Document Type Definition)和Schema兩種方式。但是相比較DTD,Schema更具優勢,已經成為XML數據合法性和規范性管理的標準。使用Schema定義試卷結構,非常靈活,可擴展性很強,可以自由定義所需實體標簽。
(3)DOM樹的構建與數據的存儲。該節從兩個方面來描述:其一是DOM樹的構建,其二是數據的存儲。有了描述試卷的Schema后,試卷結構就具有了很強的關聯性和輯性,通過對XML試卷文檔進行解析,進而建立DOM樹,根據DOM樹中的元素設計合理的數據結構,實現數據的有效存儲。
①DOM樹的構建:通過對XML文檔的解析生成DOM樹,樹中包含元素和元素之間或元素的屬性之間聯系的邊,在解析生成DOM樹時,應賦予其相應的編號。
②數據的存儲:就是對解析后的DOM樹中的元素及其相關信息映射到數據庫中,具體結構通過“元素標簽―描述―類型―約束”的方式保存到數據庫中。
(4)試卷生成。采用XML技術描述試卷結構,使得試題模板和內容相分離,實現了網上閱卷系統的通用性,保證了系統工作的高效性。試卷生成過程如下。
①試題的XML文檔:以XML技術描述試卷文檔,具有自描述性、內容獨立性以及顯示多樣性等優點,這樣保證邏輯上的簡單性,描述只關注數據的結構化。
②試卷的XSL樣式:在網上閱卷系統中,試卷最終要呈現在瀏覽器中。具體如何呈現,這里通過XSL來描述,通過XSL實現了試卷數據存儲和試卷數據顯示相分離的效果,以XSL描述試卷的顯示樣式,對于XML文檔來講,具有很強的通用性。
4 結語
該文對基于XML的網上閱卷系統進行了分析和設計,詳細闡述了系統的構建過程。具體以XML作為試卷結構的描述模板,通過XLS來描述試卷的呈現,提高了應用的通用性和實際工作的高效性。
參考文獻