早就想設(shè)計一個在線的網(wǎng)絡(luò)考試系統(tǒng),但是筆者的編程技術(shù)有限,暫時還無法完成一個正規(guī)的考試系統(tǒng)。后來經(jīng)過摸索,筆者使用Excel完成了一個簡單的考試系統(tǒng),經(jīng)過幾次考試的實驗與改進,完全可以在平時的教學(xué)中運用,F(xiàn)把實現(xiàn)的方法與大家分享。
服務(wù)器端設(shè)置
首先在教師機上建立一個test文件夾,并建立兩個電子表格文件,分別命名為“test.xls”和“匯總.xls”,其中“test.xls”為試卷文件,“匯總.xls”是用來匯總的文件。同時在該文件夾內(nèi)建立58個文件夾(假設(shè)58個學(xué)生機),可以通過批處理的方法實現(xiàn):
md s1
md s2
……
md s58
然后再將test.xls文件分別復(fù)制到這58個文件夾中:我們可以首先向s1中復(fù)制一個test.xls文件,然后再執(zhí)行copy.dat,copy.dat內(nèi)容如下:
copy s1\test.xls s2
copy s2\test.xls s3
……
copy s56\test.xls s57
copy s57\test.xls s58
現(xiàn)在每個文件夾中都有一個test.xls了,下面我們編輯test.xls和匯總.xls文件。
1. 試卷test.xls的設(shè)置
test.xls如圖1所示(假設(shè)以20道選擇題為例)。其中C1單元格為姓名填寫處,E1單元格為學(xué)號填寫處,A3~A22為答案填寫區(qū)(20道題),選擇題的選項用數(shù)字“1、2、3、4”,不要用字母,以防止學(xué)生輸入字母與空格的混合。并把答題區(qū)的顏色設(shè)置為灰色,防止學(xué)生抄襲。
2. 匯總.xls的設(shè)置
如圖2所示,建立兩個表,第一個為答案表,用來收集試卷的第一列的答案和學(xué)號姓名。A2單元格為“='D:\test\s1\[test.xls]選擇填空題'!$E$1”(統(tǒng)計學(xué)號),B2單元格為“=D:\test\s1\[test.xls]選擇填空題'!$C$1”(統(tǒng)計姓名),C2:V2分別為“='D:\test\s1\[test.xls]選擇填空題'!$A$3”(統(tǒng)計答案)、“='D:\test\s1\[test.xls]選擇填空題'!$A$4”……“='D:\test\s1\[test.xls]選擇填空題'!$A$22”。
然后選中A2:V2,將鼠標移動到右下角,變成黑色十字的時候,向下拖動到第59行(假設(shè)有58臺學(xué)生機),此時第3~59行與第2行是相同的,都是“='D:\test\test\s1\[test.xls]……”,這里需要改一下,第4行改為s2、第5行該為s3,依次類推。為了更快捷,也可以使用“編輯”菜單中的“替換”命令,將每行中的“s1”替換掉。
然后再設(shè)計分數(shù)表,用來判斷對錯并統(tǒng)計分數(shù),如圖2所示。c2中輸入“=IF(答案表!C2=C$61,$C$62,"0")”,將標準答案寫在從c61單元格開始的第61行,該公式表示:如果c2等于標準答案c61單元格的數(shù)值,則顯示c62指定的分數(shù),否則為0分。然后選中該單元格,鼠標移動到右下角橫向拖動20個格,然后再選中第一行縱向拖動58個格。
在C62中輸入“2”,表示每道題2分,如圖3所示。如果正確給2分,如果錯誤給0分。然后分別橫向求和,就可以得到每個學(xué)生的分數(shù)。
學(xué)生機端設(shè)置
首先在學(xué)生機上建立一個隱藏共享文件夾,筆者所在機房中的d盤都是隱藏共享的。教師機上再共享一個“test$”共享文件夾,教師把考試文件復(fù)制到其中,讓學(xué)生訪問教師機上的“領(lǐng)取試卷”共享文件夾,運行其中的“領(lǐng)取試卷.dat”,內(nèi)容為“copy \\teacher\test$\test.xls d:\”。
這樣試卷就復(fù)制到學(xué)生機的桌面上了,學(xué)生在指定的地方填好答案后單擊[保存]按鈕即可,考試結(jié)束時,教師運行收試卷程序:
copy \\s1\d$\ test.xls D:\test\s1
copy \\s2\d$\test.xls D:\test\s2
……
copy \\s58\d$\test.xls D:\test\s58
并把統(tǒng)計.xls復(fù)制到d:\test文件夾中,打開統(tǒng)計.xls,成績就一目了然了。
圖1 test.xls文件
圖2 匯總.xls文件
圖3 分數(shù)設(shè)置