摘要:現(xiàn)今,我國(guó)的國(guó)民生活水平越來(lái)越高,人們對(duì)教育的關(guān)注程度越來(lái)越大,生源充足,學(xué)校的辦學(xué)規(guī)模也隨著越來(lái)越大,通過(guò)從中學(xué)生考試考場(chǎng)安排系統(tǒng)設(shè)計(jì)的需求分析、系統(tǒng)設(shè)計(jì)和人工調(diào)整與沖突分析這些方面來(lái)完成分析和研究。
關(guān)鍵詞:智能化網(wǎng)絡(luò);考場(chǎng)安排;設(shè)計(jì)
中圖分類號(hào):TP311.52 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1007-9599 (2012) 18-0000-02
1 引言
當(dāng)代教育水平的提高,人們無(wú)時(shí)無(wú)刻不關(guān)注著教育的發(fā)展,學(xué)校生源充足,學(xué)生眾多,老師也更關(guān)注一個(gè)領(lǐng)域的發(fā)展,帶更少的課,老師的人數(shù)也在增加,那么,針對(duì)眾多的班級(jí),教師數(shù)量也不少的情況下,怎樣在一個(gè)新學(xué)期的期中或者期末考試來(lái)臨之際更加合理地對(duì)整個(gè)班級(jí)、整個(gè)年級(jí)、甚至整個(gè)學(xué)校的考試考場(chǎng)進(jìn)行安排呢?在當(dāng)前,我國(guó)大部分的學(xué)校都是使用人工考場(chǎng)安排或者使用全封閉的自動(dòng)化考場(chǎng)安排系統(tǒng),在當(dāng)今網(wǎng)絡(luò)經(jīng)濟(jì)環(huán)境下,如果仍然采用這種傳統(tǒng)的考場(chǎng)安排方法或者使用全封閉的自動(dòng)化考場(chǎng)安排系統(tǒng)顯然是不行的。在此,我們就引入了一個(gè)基于智能化網(wǎng)絡(luò)的中學(xué)生考試考場(chǎng)安排系統(tǒng)。
2 系統(tǒng)設(shè)計(jì)
2.1 關(guān)鍵技術(shù)
第一步:進(jìn)行考試課程的分配,以使得課程考試在最短的時(shí)間內(nèi)結(jié)束。
為了使得考試盡快結(jié)束,可以規(guī)劃使得每個(gè)時(shí)間段考試課程最大化,使時(shí)間利用率最高。為了避免課程的沖突進(jìn)行條件約束,條件要求:1.同一年級(jí)的同一課程是同時(shí)開(kāi)始同時(shí)結(jié)束的;2.考試時(shí)間不能與規(guī)定的時(shí)間違背。根據(jù)這些條件進(jìn)行最優(yōu)化規(guī)劃,可以計(jì)算出最優(yōu)考試科目的安排。
第二步:在課程得到合理分配以后,進(jìn)行考場(chǎng)最優(yōu)分配。
在第一步的基礎(chǔ)上根據(jù)考場(chǎng)的容納人數(shù)進(jìn)行分配,盡量使得每個(gè)教室的空位最少,即每個(gè)教室的空位率最少,使得考場(chǎng)在滿足條件的前提下占用最少,避免教室不夠用這一情況。即每組所用的考場(chǎng)數(shù)目的容量大于考試人數(shù)。可以根據(jù)老師的數(shù)目限制來(lái)安排考場(chǎng)數(shù),定義目標(biāo)函數(shù),提出約束條件,進(jìn)行最優(yōu)化分析,得到最優(yōu)解。
第三步:考場(chǎng)以及科目都安排合理的情況下合理安排監(jiān)考教師。
在前兩步的基礎(chǔ)上進(jìn)行教師的安排,教師安排時(shí)依據(jù)教師的特殊要求進(jìn)行合理分布,使得在滿足教師特點(diǎn)要求的情況下,教師的監(jiān)考場(chǎng)數(shù)基本持平,避免分歧[3]。
2.2 考場(chǎng)分配
首先,我們把考生報(bào)名表命名為:bmb,在此表基礎(chǔ)上,經(jīng)過(guò)編程方式給它進(jìn)行隨機(jī)混合后,增加上考生號(hào)(ksh)和考場(chǎng)號(hào)(kch),最后生成考場(chǎng)表為:kcb。具體方法和思路如下:
(1)隨機(jī)排序。我們利用隨機(jī)函數(shù)Recn()給報(bào)名表bmb增加一列隨機(jī)數(shù)并命名為隨機(jī)號(hào)Sjh,然后再利用取舍函數(shù)Round()將其取6 位小數(shù)(小數(shù)位數(shù)越多越好)。為不干涉原表數(shù)據(jù)我們利用“*”保留原表所有列,最后生成臨時(shí)表B1。在臨時(shí)表B1的基礎(chǔ)上按隨機(jī)號(hào)列sjh進(jìn)行從小到大排序,從而打亂原來(lái)報(bào)名表排序,產(chǎn)生出按隨機(jī)號(hào)Sjh 排序的臨時(shí)表B2,這給以后添加考場(chǎng)號(hào)和考生號(hào)奠定基礎(chǔ)。
程序代碼書(shū)寫(xiě)如下:
增加隨機(jī)編號(hào)列(Sjh)生成臨時(shí)表B1
Select Round(Rand(),6) As Sjh,* From Bmb Into Cursor B1
按隨機(jī)編號(hào)列(Sjh)進(jìn)行從小到大排序生成臨時(shí)表B2
Select * From B1 Order By Sjh Into Cursor B2
(2)考場(chǎng)號(hào)的產(chǎn)生。每考場(chǎng)安排N人,這樣考生人數(shù)除以N并向上取整就是考場(chǎng)總數(shù)了。所以,同樣的方法,我們把每一個(gè)考生所在的記錄號(hào)Recn()(即位置順序序號(hào))除以N并向上取整,就得到每一個(gè)考生所在的考場(chǎng)了。這樣就產(chǎn)生了一列考場(chǎng)號(hào)(Kch)。所以我們?cè)诒鞡2的基礎(chǔ)上,利用函數(shù)Recn()除以N,然后再利用函數(shù)Ceiling()向上取整數(shù),即Ceiling(Recn()/N)就是每一個(gè)考生的考場(chǎng)號(hào)了,我們把這一列命名為考場(chǎng)號(hào)(Kch)從而產(chǎn)生臨時(shí)表B3。一般情況下,為了使考場(chǎng)號(hào)位數(shù)相同,考場(chǎng)號(hào)位數(shù)不足的在前邊添加‘0’補(bǔ)齊。所以,這樣以來(lái)就得把考場(chǎng)號(hào)轉(zhuǎn)換成字符型字段才行。假設(shè)考場(chǎng)號(hào)為3位數(shù),那么我們采取復(fù)合函數(shù)Right(Alltrim(Str(1000+Kch)),3)實(shí)現(xiàn)了考場(chǎng)號(hào)整齊的要求,這一列為字符型考場(chǎng)號(hào),命名為Kch2。從而產(chǎn)生臨時(shí)表B4。
程序代碼書(shū)寫(xiě)如下:
編排數(shù)值考場(chǎng)號(hào)(Kch)
Select Ceiling(Recn()/N) As Kch,* From B2 Into Cursor B3
把數(shù)值考場(chǎng)號(hào)(Kch)轉(zhuǎn)化為字符型并添加一列字符型考場(chǎng)號(hào)(Kch2)
Select Right(Alltrim(Str(1000+Kch)),3)As Kch2,* From B3 Into Cursor B4
(3)座位號(hào)的產(chǎn)生。由于每場(chǎng)安排N人,這時(shí)在座號(hào)列中是以N為周期的一組數(shù)列,并且和考生所在的記錄號(hào)、考場(chǎng)號(hào)有一定關(guān)系,根據(jù)這個(gè)規(guī)律,我們發(fā)現(xiàn)使用函數(shù)和公式Recn()-(Kch-1)* N就能完成座位號(hào)的編排,所以在表B4的基礎(chǔ)上使用這個(gè)公式增加一列座位號(hào)并命名為Zwh。從而產(chǎn)生臨時(shí)表B5。一般情況下,為了使座位號(hào)號(hào)位數(shù)相同,座位號(hào)位數(shù)不足的在前邊添加‘0’補(bǔ)齊。所以,這樣以來(lái)就得把座位號(hào)轉(zhuǎn)換成字符型字段才行,因此我們?cè)诒鞡5的基礎(chǔ)上采取復(fù)合函數(shù)Right(Alltrim(Str(100+Zwh)),2)實(shí)現(xiàn)了座位號(hào)整齊的要求,這一列為字符型座位號(hào),命名為(Zwh2)。從而產(chǎn)生臨時(shí)表B6。
程序代碼書(shū)寫(xiě)如下:
編排數(shù)值座位號(hào)
Select Recn()-(Kch-1)* N Zwh,* From B4 Into Cursor B5
把數(shù)值型座位號(hào)(Zwh)轉(zhuǎn)化為字符型并添加一列字符型考場(chǎng)號(hào)(Zwh 2)
Select Right(Alltrim(Str(100+Zwh)),2) As Zwh,* From B5 Into Cursor B6
(4)考生號(hào)的產(chǎn)生??忌?hào)是為考試和分?jǐn)?shù)管理提供的唯一性號(hào)碼,有了考生號(hào)在以后考試和分?jǐn)?shù)管理中,不但能起到唯一性還可以根據(jù)考生號(hào)辨別這個(gè)考生,考試的年份、所在的單位或地區(qū)、考生類別以及序號(hào)等。所以我們?cè)谂R時(shí)表B6 的基礎(chǔ)上添加一列考生號(hào),并命名為Ksh。從而產(chǎn)生正式結(jié)果考場(chǎng)表Kcb。
程序代碼書(shū)寫(xiě)如下:
編排考生號(hào)(年份99+地區(qū)0714+類別66+順序號(hào)Recn())
Select 990714660000+Recn() As Ksh ,* From B16 Into Table Kcb
考生號(hào)要是‘0’開(kāi)頭的,同樣需要轉(zhuǎn)為字符型字段。
3 考場(chǎng)安排的特殊條件分析
(1)對(duì)于監(jiān)考教師的安排需要考慮合理安排監(jiān)考教師的監(jiān)考次數(shù),這個(gè)可以采取當(dāng)監(jiān)考教師參加一次監(jiān)考后,為監(jiān)考的監(jiān)考次數(shù)后面加上1,每次先去監(jiān)考次數(shù)小的教師。這種判定方法在實(shí)現(xiàn)方面比較復(fù)雜,為了能夠既考慮到教師的合理監(jiān)考次數(shù),又考慮系統(tǒng)實(shí)現(xiàn)的簡(jiǎn)單性,采取了隨機(jī)數(shù)取值的方法。
(2)對(duì)于大小教室的安排,采取優(yōu)先安排小教室,然后特殊情況再使用大教室??紤]到這一點(diǎn)的原因是大教室的數(shù)量遠(yuǎn)遠(yuǎn)比小教室少。
(3)對(duì)于教師有特殊要求的情況下,比如教師考試期間處于假期或者培訓(xùn)期,或者某些教師需要先安排,我們可以提高這些教師的優(yōu)先級(jí),讓這些教師先做安排。
4 結(jié)束語(yǔ)
本文闡述了基于智能化網(wǎng)絡(luò)的中學(xué)生考試考場(chǎng)安排系統(tǒng)設(shè)計(jì)的背景意義,系統(tǒng)需求的分析和系統(tǒng)設(shè)計(jì)中的關(guān)鍵技術(shù)和考場(chǎng)分配的細(xì)節(jié),最后將考試考場(chǎng)的特殊條件和情況作了分析。
參考文獻(xiàn)
[1]劉云鵬,王磊,田耕.考試安排系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].黑龍江科技信息,2007,(16).
[2]陳磊,童貞.一個(gè)考試安排系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].電腦知識(shí)與技術(shù),2005,(02).
[3]馬慧彬,張忠武,何麗麗.智能型考試安排系統(tǒng)的監(jiān)考及教室安排算法[J].佳木斯大學(xué)學(xué)報(bào)(自然科學(xué)版),2004,(01).
[4]蒙煥念,黃天開(kāi).考試安排系統(tǒng)設(shè)計(jì)與應(yīng)用[J].柳州師專學(xué)報(bào),2005,(01).
[5]鄒潤(rùn)奇,魯麗萍.一類考場(chǎng)座位安排算法的研究[J].計(jì)算機(jī)工程與設(shè)計(jì),2005,(06).
計(jì)算機(jī)光盤軟件與應(yīng)用2012年18期