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