发新话题
打印

用Excel实现网络化的考试

用Excel实现网络化的考试

  早就想设计一个在线的网络考试系统,但是笔者的编程技术有限,暂时还无法完成一个正规的考试系统。后来经过摸索,笔者使用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 分数设置

TOP

发新话题