C++Builder開發(fā)小型試題庫的關(guān)鍵技術(shù)_第1頁
C++Builder開發(fā)小型試題庫的關(guān)鍵技術(shù)_第2頁
C++Builder開發(fā)小型試題庫的關(guān)鍵技術(shù)_第3頁
C++Builder開發(fā)小型試題庫的關(guān)鍵技術(shù)_第4頁
C++Builder開發(fā)小型試題庫的關(guān)鍵技術(shù)_第5頁
已閱讀5頁,還剩1頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、C+Builder開發(fā)小型試題庫的關(guān)鍵技術(shù)任俊  郭文普(西安市第二炮兵工程學(xué)院 ,陜西  西安  710025     摘  要  本文以筆者開發(fā)的小型試題庫管理系統(tǒng)為原型,詳細(xì)介紹了利用C+ Bulider開發(fā)小型試題庫管理系統(tǒng)涉及的若干關(guān)鍵技術(shù),包括試題庫總體功能設(shè)計(jì)、隨機(jī)出題規(guī)則、隨機(jī)組卷算法、試卷生成采用的OLE技術(shù)等,并對系統(tǒng)中的技術(shù)難點(diǎn)進(jìn)行了分析。    關(guān)鍵字  試題庫;隨機(jī)組卷;OLE;C+Builder6.0 1引言 

2、;   隨著高等教育教學(xué)改革深入和課程建設(shè)的逐步完善,高等院校對學(xué)生課程考試逐步向著規(guī)范化、系統(tǒng)化、科學(xué)化、現(xiàn)代化的方向發(fā)展,教學(xué)管理也向著現(xiàn)代化、規(guī)范化的方向邁進(jìn)。為了逐步實(shí)現(xiàn)教考分離,更好地組織和管理考試的各項(xiàng)工作,客觀地評價(jià)學(xué)生對所學(xué)知識(shí)的理解和運(yùn)用能力,提高教學(xué)質(zhì)量,在重點(diǎn)課程建設(shè)任務(wù)中,我們采用C+Builder6.0完成了一個(gè)面向不同課程、功能實(shí)用的通用小型試題庫管理系統(tǒng)。其作用及優(yōu)勢表現(xiàn)在以下幾個(gè)方面:    (1教考分離,試卷規(guī)范性更強(qiáng)。    (2提高效率,減輕教師負(fù)

3、擔(dān)。    (3面向考試對象,靈活性更好;其隨機(jī)組卷功能可根據(jù)設(shè)置的規(guī)則,在把握大綱的同時(shí),根據(jù)考試對象適當(dāng)調(diào)整試卷內(nèi)容。2試題庫管理系統(tǒng)的功能框架    本試題庫管理系統(tǒng)主要由試題庫維護(hù)、試卷管理、隨機(jī)出題規(guī)則設(shè)置、隨機(jī)組卷及試卷生成、系統(tǒng)設(shè)置等五個(gè)功能模塊組成,如圖1所示。圖1通用試題庫管理系統(tǒng)功能框架    (1 試題庫維護(hù)。利用Access設(shè)計(jì)后臺(tái)試題庫,存儲(chǔ)六類題型的試題(填空題、選擇題、判斷題、名詞解釋、簡答題、解答題。利用C+Builder開發(fā)前臺(tái)試題庫維護(hù)模塊

4、,包括試題的增加、修改、刪除、瀏覽等基本功能,要求能實(shí)現(xiàn)試題插圖的管理與維護(hù)功能。    (2 試卷管理。利用Access設(shè)計(jì)后臺(tái)試卷庫,存儲(chǔ)以往試卷的Word文件,利用C+Builder開發(fā)前臺(tái)試卷庫維護(hù)模塊,包括試卷的增加、刪除、瀏覽等基本功能。    (3 隨機(jī)出題規(guī)則設(shè)置。根據(jù)用戶需求實(shí)現(xiàn)隨機(jī)出題規(guī)則設(shè)置功能,設(shè)置的內(nèi)容包括試題總分、考試內(nèi)容的章節(jié)、不同題型題量、不同難易系數(shù)等。    (4 隨機(jī)組卷與試卷生成。按照用戶設(shè)置的隨機(jī)出題規(guī)則,通過隨機(jī)組卷算法從試題庫中抽

5、取相應(yīng)試題生成符合要求的試卷,并通過OLE(對象鏈接與嵌入技術(shù)將依規(guī)則隨機(jī)抽取的試題生成Word文件格式的試卷,其難點(diǎn)在于隨機(jī)組卷算法和OLE中的圖像、文本插入技術(shù)。    (5 系統(tǒng)設(shè)置。為使試題庫系統(tǒng)適應(yīng)性更廣,系統(tǒng)通過配置文件的方式動(dòng)態(tài)加載系統(tǒng)的標(biāo)題和背景圖片。同時(shí),系統(tǒng)還支持不同用戶權(quán)限,只有管理員用戶權(quán)限可以更改系統(tǒng)設(shè)置,其余人員只能使用試題庫功能,而不能修改系統(tǒng)設(shè)置。3  隨機(jī)出題規(guī)則與隨機(jī)組卷算法3.1  隨機(jī)出題規(guī)則    考慮到試題庫應(yīng)提供給用戶多種考試功能,包括對指定章節(jié)的測

6、試、對特定題型的測試或是對試卷分值、難易程度的指定,因此設(shè)計(jì)的隨機(jī)出題規(guī)則包括以下內(nèi)容:    (1 試題總分設(shè)置:包括100、90、80、70、60五種總分。    (2 考試章節(jié)設(shè)置:可針對單一章節(jié)或選定的幾章進(jìn)行測試。    (3 題型、題量設(shè)置:設(shè)置考試題型、題量,總分應(yīng)與設(shè)置的總分一致。    (4 難易程度設(shè)置:設(shè)置試卷的難易程度,包括較易、中等、較難三級(jí)。    (5 A、B卷設(shè)置:

7、可以選擇生成一套試卷或同時(shí)生成兩套試卷。用戶根據(jù)考試對象和考試要求對以上規(guī)則進(jìn)行相應(yīng)的設(shè)置,并以此指導(dǎo)隨機(jī)組卷算法,生成符合要求的試卷。3.2  隨機(jī)組卷算法    為了實(shí)現(xiàn)從試題庫中隨機(jī)生成考試試卷,需建立兩個(gè)試題表分別存儲(chǔ)A試卷、B試卷對應(yīng)的試題。我們設(shè)計(jì)的隨機(jī)組卷算法如圖2所示。圖2隨機(jī)組卷算法流程圖4CB中利用Ole服務(wù)器生成Word試卷    僅僅將考試所需試卷內(nèi)容抽取到試卷表中是不夠的,還必須將試卷表中的試題輸出到Word文件中,才能完成后續(xù)的打印、復(fù)印等工作。因此如何將試卷表中的試題輸出到W

8、ord文件中是一個(gè)必須解決的問題,特別是當(dāng)試題中既有文字也有試題插圖時(shí),這個(gè)問題就更加復(fù)雜化了。為解決該問題,我們采用了OLE技術(shù),OLE技術(shù)是微軟提出的一種軟件產(chǎn)品規(guī)范,是應(yīng)用程序間交換數(shù)據(jù)、相互操作的標(biāo)準(zhǔn)。OLE技術(shù)的實(shí)質(zhì)是通過編程來控制其它的應(yīng)用程序或者DLL(動(dòng)態(tài)鏈接庫中的對象。采用這一技術(shù)的應(yīng)用程序不僅能使用駐留在自己程序中的對象,而且能使用駐留在系統(tǒng)里其它程序中的對象,并能夠訪問這些對象的屬性和方法。在CB中使用OLE技術(shù)嵌入并控制Word是擴(kuò)充系統(tǒng)文字處理功能最簡潔、高效的途徑,其關(guān)鍵步驟如下:    (1 創(chuàng)建OLE對象。Variant

9、VwordApp,VwordBasic;VwordApp = CreateOleObject("Word.Application";  / 創(chuàng)建Word應(yīng)用程序?qū)ο骎wordBasic = CreateOleObject("Word.Basic";   / 創(chuàng)建Word VBScript對象    (2 新建Word文檔并創(chuàng)建操作圖形的Shape對象。Variant Vshape;VwordBasic.Exec(Procedure("FileNew"<<

10、"Normal";   / 用模板新建Word文檔Vshape = VwordApp.OlePropertyGet("ActiveDocument". OlePropertyGet("Shapes";    (3 將試題內(nèi)容與試題插圖寫入Word文檔中,以試題表中一條記錄為例。AnsiString SaveImage = GetCurrentDir(+"image.bmp";  / 暫存圖像路徑及文件名AnsiString Stnr = 

11、; ADOQueryA->FieldByName("stnr"->AsString;  / 取試題內(nèi)容VwordBasic.Exec(Procedure("Insert" << Stnr;    / 向Word文檔中寫試題內(nèi)容blob=(TBlobField *ADOQueryB->FieldByName("image";  / 取試題插圖if(!blob->IsNull       

12、60;    / 判斷該試題是否有插圖   blob->SaveToFile(SaveImage.c_str(;       / 暫存為圖像文件   Vshape.OleFunction("AddPicture",SaveImage.c_str(;  /將圖像插入Word文檔    (4 保存試卷。AnsiString SaveFile = GetCurrentDir(+"

13、;Test_A.doc"; / 試卷路徑及文件名VwordBasic.Exec(Procedure("FileSaveAs" << SaveFile;  / 保存試卷5結(jié)束語    本試題庫系統(tǒng)的程序開發(fā)已基本完成,正處于試用階段,該系統(tǒng)除具備試題庫管理、隨機(jī)組卷及試卷生成等基本功能外,還實(shí)現(xiàn)了歷史試卷的管理和系統(tǒng)設(shè)置功能,希望本系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)能為開發(fā)類似試題庫系統(tǒng)的人員在一定程度上起到借鑒作用。參考文獻(xiàn)1 鄧又明,劉慶紅,董光. 試題庫管理系統(tǒng)的分析與設(shè)計(jì)J. 現(xiàn)代情報(bào),2005年第4期,157-1582 任治斌,耿國華,張富春等. 在VFP下高等代數(shù)試題庫的設(shè)計(jì)與實(shí)現(xiàn)J. 微計(jì)算機(jī)應(yīng)用,第26卷第5期,2005年9月,638-6403 劉光. C+Builder數(shù)據(jù)庫系統(tǒng)設(shè)計(jì)與開發(fā)M,清華大學(xué)出版社,

溫馨提示

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

評論

0/150

提交評論