?

一個基于VBA編程控制的組卷系統的設計

2024-04-06 12:49趙舜
電腦知識與技術 2024年3期
關鍵詞:設計

趙舜

關鍵詞:VBA編程控制;組卷系統;設計

中圖分類號:G642.474 文獻標識碼:A

文章編號:1009-3044(2024)03-0056-04

0 引言

VBA(Visual Basic for Applications) 是Visual Basic 的一種宏語言,這種編程語言有著廣泛的應用空間。與傳統宏語言不同,VBA提供了面向使用對象的程序設計方法,提供了相當完整的程序設計語言。用戶可以將日常工作轉換為VBA程序代碼,使工作自動化,提高工作效率。

在教學中,教師對學生知識掌握情況的了解通常是通過測驗考試來完成的。以數學學科為例,目前職業院校的數學考試通常是以線下模式紙質試卷進行測驗,較少使用線上考試系統。要了解學生的真實學習效果,需要一份符合教學要求、試題難度適當、考前保密性好的優質試卷。

要獲得一份優質試卷,需要一位或多位有經驗的教師從選擇考查知識點,到編寫試題,再到試題和答案的輸入,每一個步驟都要耗費大量的時間[1]。有時一場考試需要多份試卷,如期末試卷的AB卷、教學平行班使用的隨堂單元測驗卷。這些試卷都要求試題不同,但試題類型和試卷難度要相同。這樣出卷的工作量就更大了。

針對這種情況,有必要采用一定的方法,能快速組卷,并能根據要求生成的多份題量、題型、難度相當的試卷。為了有效地解決組卷出卷的問題,很多研究者以組卷系統為對象進行研究。

1 組卷系統的研究現狀

在知網中,以“組卷系統”搜索,近5年有4 000多篇文章。方向偏重于選題的智能性上,將遺傳算法應用于智能選題上的研究占據了三分之一。研究對象也主要針對在線考試系統。為了生成筆試試卷的組卷系統較少。在以生成卷為目的的組卷系統研究中,都是通過編程語言控制,結合數據庫技術,最終實現組卷的[2]。這樣的組卷系統都包含了題庫管理和組卷功能。

1.1 題庫管理的研究現狀

有的組卷系統無法輸入和顯示標準的數學符號、公式,有的生成試卷版式固定,無法二次修改排版。部分現有的組卷系統需要特定的系統環境,需要安裝新的軟件,還需要花費一定的時間去調試系統和學習操作方法。

為了解決這些問題,有研究者選擇了以Word軟件作為題庫管理軟件。如選擇通過VisualBasic操作Word進行編組數學試卷[3],運用VBA操作Word搭建了通用試題庫管理系統[4-5]。Word軟件具備出色的公式和圖片再編輯功能。Word文檔形式的試卷具備可編輯性。在日常工作中,教師們已經習慣了以Word 軟件為文字處理工具。通過Word軟件管理題庫能降低系統操作的學習成本,同時也方便現有電子試卷試題的導入。

但是,在試題存儲的模式上存在著不妥之處:試題與試題之間、試題與答案之間分隔不明?,F有系統借助段落或空行或其他特殊標記進行分界。這些方法雖能通過程序進行識別,但不便于人工管理試題。若要在此類題庫中進行人工組卷,也是比較困難的。

1.2 組卷功能的研究現狀

現有的組卷系統能通過算法按照試題屬性如章節、難度系數等進行智能選題組卷。如基于改進的自適應遺傳算法開發了智能組卷系統[6]。此類系統能較好地組合出一份知識點覆蓋面廣且難度適中的試卷。

但是,在常規教學中,總是會遇到“一試多卷”的需求,即一次考試需要多份題量、類型、難度相同而試題不同的試卷,又或者要生成專項練習卷,以實現對某一知識點進行強化訓練的情況,而現有的智能組卷系統不能滿足這些要求。

綜上所述,目前的組卷系統還不夠完善,因此有必要進一步改善題庫管理和組卷功能,設計一個新的組卷系統以便滿足更多的需求。

2 組卷系統需求分析

組卷系統是為簡化教師組卷工作,能快速生成滿足考試要求的試卷,要操作方便,學習成本低。通過對目前類似系統的研究,這樣的組卷系統要滿足如下需要:

1) 組卷系統要包含題庫管

理模塊。題庫能完整地存儲試題,包括題目涉及的各種公式、圖片等。題庫對能對試題進行增、刪、改、查,且操作便捷。

2) 組卷系統要包含組卷控制模塊,能根據考試試卷的需求,設置參數后自動從題庫中抽取試題進行組卷,也能由人工從題庫中抽題后進行組卷。

2.1 題庫管理模塊需求分析

1) 試題結構分析

題庫中的每一道試題都包含內容和屬性。

①內容是指題目、答案,備注信息等。數學等理工科類試題有別于其他文科類試題,其表現形式中除了文字,還包含公式、圖片、表格等。這些內容需要能在題庫中完整呈現,排版清晰,既方便程序控制,又能讓人輕松瀏覽。

②屬性是指試題形式、試題所屬章節以及試題類型。試題形式主要有三種:選擇題,填空題,解答題。試題所屬章節即指該試題所考查的知識內容的所屬章節。如果某試題考查多個知識,涉及多個章節,那么就按照教材章節順序,歸類于涉及的最后一個章節中。試題類型也是試題一個分類屬性。涉及同一章節的試題,有的考查不同的小知識點,有的會結合其他章節知識進行考查,有的在解題方法上有特殊性。無法單用難度系數來作區分,需要設置屬性:試題類型。當試題類型相同時,它的難度也相同。這也是為組卷構建難度相同的試卷做準備。

2) 題庫管理功能需求分析

題庫管理功能主要涉及試題的增加、刪除、查詢、修改。

①增加試題。要提供試題模板,能根據用戶所選添加位置,自動添加試題屬性,幫助用戶快速創建試題。要方便現有電子試卷上的試題錄入,并兼容舊試卷格式。

②刪除試題。要能徹底清除試題,且對其他試題和題庫結構不造成影響。

③查詢試題。能快速地根據內容或屬性進行查詢和瀏覽試題。

④修改試題。對試題的所有內容都能修改。

2.2 組卷控制模塊需求分析

1) 試卷需求分析

試卷的需求可以分為:

①普通試卷,針對一個或幾個章節的知識進行測驗的試卷,要求考查內容分布合理。

②一試多卷,即同一場考試需要多份試卷,如期末考試需要的AB卷,或是因不能同時考試的單元測驗卷。這多份試卷在各章節的分布上一致,且類型難度相當。

③專項練習卷,為了對某一章節知識進行強化訓練而組合的練習卷。

④自定義試卷,為了一些特殊需求,而將指定的試題組成試卷進行練習。例如將某一階段的錯題,整合成的錯題練習卷,或是將與某一知識點相關的真題組成的練習卷。

另外每一份試卷都需要一份配套的答案。

2) 組卷功能分析

根據教學對試卷的需求,組卷功能需要包含自動組卷和輔助人工組卷。

①自動組卷要能按照參數設置,能在題庫中自動抽取滿足條件的試題,自動生成試題卷和答案卷。主要用于生成普通試卷和滿足一試多卷的需求,以及專項練習卷。在生成普通試卷過程中,通過設置章節和試題形式下的抽題數量,在題庫中進行抽選,并盡可能讓試題考查的知識不同。在滿足一試多卷生成試卷時,試題的類型都相同,進而保證難度一樣。在生成專項練習卷時,要盡可能涵蓋一個章節內的所有試題類型。

②輔助人工組卷,能滿足自定義組卷需求,在題庫選定試題后,自動將試題組合生成試題卷和答案卷,能簡化人工組卷過程中的重復操作。

3 VBA 編程控制組卷系統設計

根據數學組卷系統的需求分析,下面就系統結構、題庫管理、組卷功能進行設計。

3.1 VBA 編程控制組卷系統結構設計

本組卷系統選擇了以選擇Word文檔為題庫數據載體,Word軟件為題庫管理軟件,以Excel為組卷數據設置記錄的載體,并通過VBA編程控制題庫管理和組卷。

Word軟件作為在教學活動中最常被使用的辦公軟件,教師們使用得非常熟練,無須額外進行培訓,不增加學習成本。Word軟件呈現試題的形式良好,排版便利。而VBA是內嵌于Word和Excel中的編程軟件。系統在開發后可以直接運行于安裝有Microsoft Office辦公軟件的電腦上,無須額外的軟件安裝過程。

3.2 題庫模塊設計

1) 題庫試題分類設計

為了滿足題庫管理的需求,首先根據試題所屬章節、試題形式、試題類型對試題進行分類并編號。

①章節編號使用4位數字表示。中職數學共24 章,每個章內最多12個小節,故設置4位數字表示章節。如“0203”表示“第2章第3節”。

②試題形式用字母編號:選擇題A,填空題B,解答題C,可以方便識別區分。

③每個試題形式下有若干個試題類型,用三位數字來記錄:001~999。

④同試題類型下的試題序號用2 位數字記錄:01~99。

所有編號串聯起來就是試題的唯一編號exid,共10位。如編號為“0101A00201”就表示“第1章第1節的選擇題中第2個類型下的第1道題”。

2) 題庫試題存儲設計

試題按照:章節、形式、類型分類存放,利用Word 自帶的導航欄功能,可以方便快捷地查看試題。

題庫文檔內以表格形式存放試題。文檔中每一個表格就是一道試題。表格內存放試題編號、試題內容、試題答案、試題備注信息。這樣既能清晰地劃分試題和答案,讓使用者一目了然,也方便對試題進行管理。

這樣的存儲形式,也給題庫的管理帶來便利。

①添加試題。在指定分類位置下,添加試題模板,即表格。然后在相應位置填入內容即可完成試題的添加。為了省去反復創建試題模板的過程,通過編寫VBA宏命令,實現一鍵完成試題模板的插入。

②刪除試題。由于試題是以表格形式保存,所以刪除表格即可完整刪除試題。為了省略表格選擇過程,通過編寫VBA宏命令,實現一鍵刪除試題。

③查看試題??梢酝ㄟ^導航欄根據章節和形式進行查找,也可以利用Word軟件自帶的查找功能,依據內容查找試題。

④修改試題。試題存放在Word文檔內,修改試題和平時修改Word文檔是一樣的。文字、公式、表格都可以修改。

3.3 組卷模塊設計

根據組卷模塊的需求分析,要能滿足4類組卷要求,需要通過自動組卷和輔助人工組卷兩種功能來實現。

1) 自動組卷功能設計

自動組卷是只需設置測試模式以及要抽取的試題數,由系統自動完成抽題組卷。參數設置部分存放在Excel電子表格內,從題庫Word文檔內獲取所有試題信息后,在Excel內完成試題選取,然后再進入題庫文檔進行抽題組卷。

①生成普通試卷的自動組卷功能設計

首先,由于題庫文檔是會有變更,在每一次自動組卷之前必須先獲取當前題庫信息。獲取試題編號、試題形式等信息,匯總出題庫的基本參數,如某章節的單選題有多少種試題類型,以便用戶來決定抽取試題類型的數目。

然后,用戶根據考試需求,輸入各章節各形式下的試題數目。試題數目有上限,如果某小節的某形式下有m個試題類型,那么用戶最多只能在這個分類下抽取m道題

接下來就進行自動組卷。組卷要經歷“抽題—成卷—存儲組卷信息”三個步驟。

系統首先根據在用戶設置的參數,進行自動抽題。為了使試卷能覆蓋更多的試題類型,所以采用一個試題類型選一題的抽取算法。同時為了防止近期的試卷內盡量不出現重復試題,所以要選擇最近1次或多次組卷中未使用過的試題,次數可以進行設置。如果某類型下的試題都使用過了,那么就盡可能選擇使用次數較少的試題。

在完成抽題后,組卷程序在每種試題形式下打亂試題編號的順序,然后再根據試題編號,依次從題庫文檔中提取試題和答案,生成試題卷和答案卷。

最后將抽取的試題編號等信息發送到歷史組卷記錄的電子表格內保存。

②滿足“一試多卷”要求的自動組卷功能設計一試多卷,要求每份試卷的試題數量相同,查考知識內容相同,難度相同。所以,先要根據考試考察要求生成一份普通試卷。然后進入到歷史組卷記錄電子表格內,找到這份試卷的數據信息,然后選擇“再次生成”。

根據已有試卷抽取新試卷試題的算法如下:

遍歷已有試卷的試題。在試題所屬的試題類型下,另抽取一題,記錄下編號,除非該試題類型下只有一題,那就記錄下原試題編號。

然后和生成普通試卷的“成卷”“存儲信息”兩個步驟一樣,完成新的試卷的完成。

③生成專項練習卷的自動組卷功能設計

在生成專項練習卷頁面,選擇相關小節,設定好各形式(選擇、填空、解答)的試題數量,程序就自動組卷完成。其中抽取試題的算法如下:

根據題庫信息,計算各形式(選擇、填空、解答)下的試題類型個數的比例。接著按照比例分配抽題數量。然后在各試題類型下按抽題數量抽屜,記錄下編號。由于專項練習卷總把類型相同的試題放在一起以便強化記憶,所以在最后“成卷”步驟前省去了混亂試題的步驟,直接生成試卷。

2) 輔助人工組卷功能設計

當需要自定義試卷時,需要人工組卷。手動組卷需要通過“人工選題—生成試卷”兩步完成。輔助人工組卷功能在這兩個步驟中為教師省去重復操作。

①人工選題題

庫已經整合了所有試題,并按章節等特征排序,添加多級標題,借助Word的導航欄,可以快速定位試題位置,節省了教師在多個電子文檔之間切換查看的時間。

Word 原有的選擇功能是通過點擊并拖動完成的,但這操作在精準度上有一定的缺陷,容易發生誤操作。所以本系統在Word題庫文檔內,編寫VBA宏,實現“標記試題”和“取消標記”的功能,并在工具欄內添加宏按鈕。這樣用戶只要在點擊試題所在表格內的任意位置,再點擊按鈕,就可以快速地標記試題或取消標記。比起原有的拖動操作更簡潔更精準。

標記試題是對試題所在的整個表格背景上色。顏色選擇一個顏色數值,定義為常量MarkColor。取消標記就是把試題背景色恢復為文檔默認色。

為了能了解選擇的試題,本功能還設計有信息顯示窗口,窗口中顯示每種形式的試題數量,以及已選試題的題號,也能從窗口快速跳轉到已選擇的某一試題。

②生成試卷

在確定了選題后,首先會打亂每種形式中試題的順序。其次,將所選試題及其答案按混亂后的順序,按試題形式的分類,生成試題卷和答卷。然后,將試題編號、試題類型等信息發送到歷史組卷記錄的電子表格內保存,完成組卷。

以上生成試卷的功能免去了教師在題庫、試卷、答案三個文檔之間切換、復制、粘貼的重復性的操作,從而節省了時間和精力。

4 結論

1) 根據現狀分析,現有的組卷系統并不能完全滿足各類組卷的要求。有必要設計一個基于VBA編程控制的組卷系統。

2) 通過對組卷需求的分析,認為題庫中試題需要按“章節-形式-類型”進行分類;而組卷功能要有自動組卷功能和輔助人工組卷功能,來滿足不同的試卷需求。

3) 選擇以Word軟件為題庫管理軟件,通過編寫VBA宏程序,進行試題的管理。選擇用Excel文檔來存儲組卷信息,通過VBA編程控制,進行自動組卷,以滿足生成普通試卷、一試多卷、專項練習卷的需求。通過VBA編程控制,進行輔助人工組卷,減少了傳統組卷過程中的重復性操作,提高工作效率。

【通聯編輯:謝媛媛】

猜你喜歡
設計
二十四節氣在平面廣告設計中的應用
何為設計的守護之道?
《豐收的喜悅展示設計》
基于PWM的伺服控制系統設計
基于89C52的32只三色LED搖搖棒設計
基于ICL8038的波形發生器仿真設計
瞞天過?!律O計萌到家
設計秀
有種設計叫而專
從平面設計到“設計健康”
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合