莊緒德,劉志峰
1.曲阜師范大學(xué)信息網(wǎng)絡(luò)中心,山東曲阜 273165
2.曲阜師范大學(xué)運(yùn)籌與管理學(xué)院,山東曲阜 273165
用Excel VBA設(shè)計(jì)考試信息系統(tǒng)
莊緒德1,劉志峰2
1.曲阜師范大學(xué)信息網(wǎng)絡(luò)中心,山東曲阜 273165
2.曲阜師范大學(xué)運(yùn)籌與管理學(xué)院,山東曲阜 273165
高校學(xué)生期末考試,如果每場(chǎng)考試都采取隨機(jī)座次,并且直到入考場(chǎng)時(shí)學(xué)生才知道自己的座次,學(xué)生就沒(méi)有機(jī)會(huì)提前設(shè)計(jì)協(xié)同作弊。但是用手工方式實(shí)現(xiàn)每場(chǎng)考試隨機(jī)安排座位,工作量大,效率低下。使用Excel制作一個(gè)考試信息系統(tǒng),能完美的完成這項(xiàng)工作。
Excel VBA;隨機(jī);信息系統(tǒng)
高校學(xué)生一般都安排集中期末考試,考試都是各專業(yè)單獨(dú)組織考場(chǎng),考生都是平時(shí)在一起學(xué)習(xí)的同學(xué)。如果座次直接按照學(xué)號(hào),可以方便監(jiān)考老師檢查考生到場(chǎng)情況,但是一直是一樣的座次不變,固定考生相鄰的時(shí)間長(zhǎng)了,會(huì)出現(xiàn)協(xié)同作弊的現(xiàn)象,甚至出現(xiàn)雷同卷。雖然可以通過(guò)監(jiān)考老師加強(qiáng)監(jiān)視力度來(lái)避免,但是最好用技術(shù)的方法來(lái)解決。如果打印出學(xué)生學(xué)號(hào)姓名清單,隨機(jī)貼到座位上,但是每場(chǎng)考試都貼標(biāo)簽,太麻煩,而且學(xué)生不容易找到自己的座位。后來(lái)采用當(dāng)場(chǎng)抽簽的辦法,制作兩份號(hào)碼標(biāo)簽,一份貼到考試座位上,另外一份讓考生抽簽,抽到后對(duì)號(hào)入座,這種方法雖然能夠?qū)崿F(xiàn)隨機(jī)排坐,但是太費(fèi)時(shí)間,監(jiān)考教師手里沒(méi)有座次表,學(xué)生可以趁亂自己換標(biāo)簽調(diào)座,另外如果有缺考的學(xué)生,難以查找登記。最后,我們決定還是使用計(jì)算機(jī),進(jìn)行考場(chǎng)安排,以達(dá)到事半功倍的效果。該設(shè)想是考場(chǎng)里座位上只貼號(hào)碼,有N個(gè)座位則號(hào)碼從1~N??荚嚽鞍胄r(shí)隨機(jī)產(chǎn)生考生座次表,考試前10分鐘在考場(chǎng)門口張貼一張座次表,此表按學(xué)號(hào)排序,考生可快速查到自己的座位號(hào)。監(jiān)考教師領(lǐng)一份座次表,此表按座位號(hào)排序,監(jiān)考教師可快速查到每個(gè)座位上的考生,對(duì)缺考考生快速查找登記。
我們借助Excel電子表格實(shí)現(xiàn)這個(gè)工作。首先制作出學(xué)生清單,包含學(xué)號(hào)、姓名、性別等幾列,并填入實(shí)際數(shù)據(jù)。添加一列用來(lái)產(chǎn)生隨機(jī)數(shù),添加另外一列,用來(lái)產(chǎn)生座次號(hào)。具體方法如下,在隨機(jī)數(shù)一列第一單元格插入函數(shù)rand(),或者直接輸入“=rand()”,把這一單元格內(nèi)容復(fù)制到此列其他單元格,或者使用快速填充。這樣隨機(jī)數(shù)一列所有單元格都有一個(gè)隨機(jī)數(shù),按照隨機(jī)數(shù)列給所有行重新排序,排序完畢后,在座次號(hào)一列用1,2,3……填充,然后刪掉隨機(jī)數(shù)列,按照學(xué)號(hào)一列重新排序,這樣就把所有的考生隨機(jī)的安排到相應(yīng)的座位上去。按照學(xué)號(hào)排序打印的表格就是張貼給學(xué)生查找自己座號(hào)的表格,考生可快速檢索到自己的座位。按照座號(hào)排序打印出的表格就是給監(jiān)考教師核對(duì)學(xué)生入場(chǎng)情況的表格,只需在表格上標(biāo)記出空位的座位號(hào),便可記錄下缺考學(xué)生。如此組織考場(chǎng)簡(jiǎn)潔方便,快速有序。需要說(shuō)明是,如果同一次的考試安排到多個(gè)考場(chǎng),比如兩個(gè),那么這兩個(gè)考場(chǎng)的座次號(hào)都是從1開(kāi)始。制作表格的時(shí)候,按座號(hào)排序后,再添加一列標(biāo)題為考場(chǎng),選取前面第一考場(chǎng)人數(shù)的行在考場(chǎng)這一列標(biāo)記為第一考場(chǎng),剩下的標(biāo)記為第二考場(chǎng)另外座次號(hào)減去第一考場(chǎng)人數(shù),從1開(kāi)始排起。
以上利用Excel實(shí)現(xiàn)了隨機(jī)安排考生座位,但是需要手動(dòng)編輯Excel數(shù)據(jù),手動(dòng)排序打印,容易出現(xiàn)誤操作,并且不熟悉Excel的用戶不能勝任。我們考慮編制程序,做一個(gè)直觀的用戶界面,讓用戶能夠選擇考生范圍,輸入考場(chǎng)個(gè)數(shù),考場(chǎng)地點(diǎn),把相應(yīng)的考生隨機(jī)安排到指定的考場(chǎng)里。這樣使用起來(lái)更加直觀,另外添加學(xué)生管理,課程管理,成績(jī)錄入,成績(jī)單打印等模塊,做成一個(gè)完整的考試信息系統(tǒng)。把所有學(xué)生的信息制作成一個(gè)電子表格,作為基本的數(shù)據(jù)庫(kù),其他數(shù)據(jù)從這里提取。利用Excel VBA設(shè)計(jì)一個(gè)窗體作為程序的主界面。添加相應(yīng)功能模塊的按鈕,分別編寫(xiě)對(duì)應(yīng)模塊的程序代碼。這里給出生成考生隨機(jī)座號(hào)的程序代碼。
[1] 趙志東.Excel VBA基礎(chǔ)入門[M].北京:人民郵電出版社,2006.
[2] 王萍萍,等.ASP+Dreamweaver動(dòng)態(tài)網(wǎng)站開(kāi)發(fā)[M].北京:清華大學(xué)出版社,2008.
TP31
A
1674-6708(2010)18-0140-01
曲阜師范大學(xué)科研項(xiàng)目,項(xiàng)目編號(hào):XJ0721