论文部分内容阅读
摘 要:为保证考试的公平、公正及其严肃性,科学的考场座位编排是一个重要手段。文章介绍的是利用EXCEL VBA编写考场编排软件的设计和实现,利用此软件,可轻松实现学校考试中繁琐的考场编排、座位表、桌贴、班级考生分布等的一次性生成及打印。经实际应用,操作简单,方便实用。
关键词:随机;试场编排;座位表;桌贴
中图分类号:TP393 文献标志码:B 文章编号:1673-8454(2014)14-0065-05
现今中学阶段的学校教务工作中,考务工作占了很大的比重,而考场座位编排是考务信息化管理中一项十分重要的工作。考务工作主要分为考前的考场编排和考后的成绩统计与分析,这里专门就考前的考场编排展开分析和讨论。随着学校办学规模逐渐扩大和学生人数的增加,考场安排的工作量不断加大。因此,笔者决定编写基于 Excel VBA的考场编排系统,希望通过本系统能实现对考场教室进行合理有效的管理。
我们采用Excel作为系统编写工具。Excel不仅具有强大的制表功能,同时还内置了系统开发工具VBA。VBA是指Visual Basic for Application,它是在Office中广泛应用的宏语言,可以直接对Excel对象进行编程,从而提高Excel的利用效率。使用它可以增强Excel的自动化能力,使用户更高效地完成特定任务。
软件分为试场编排、座位表生成、桌贴的制作三大模块。设计完成后,工作人员将基本数据,如考生名册(含班级)、考场基本信息(考场名称、每考场人数等)录入到软件中,软件自动对考生进行考场随机编排,编排完成后,要使学生能基本均匀地分布在各考场,同时,实现同考场中前后座位不同班,各考场人数可以不同,每列人数可以不同。另外,根据实际生成座位表、各班考生座位分布表、考生桌贴等。
一、考场编排
在中考或高考中,考场人数一般是30人,但基于学校实际在实际操作中很难做到,一般会出现各考场人数各异。有鉴于此,考场编排系统需具备很大的灵活性,因此软件必须取得以下信息:学生名册,考场名称,各考场人数,各考场每列人数。
在编排试场时,要尽量保证学生座位的随机性。对此每个学校都有自己的做法,有的按前一次考试成绩进行排座位,有的按姓氏笔画排座位,有的采用Excel随机函数来排座位。对于这些排座位的方式,虽在一定程度上实现了随机性,但都存在前后同班情况的出现。网上也有采用VBA编写的考场编排软件,但班级分布上还是存在多种问题,如5班考生大量出现在某个考场,但隔壁考场却没有一个5班考生,另外也出现了类似班级分布是固定的,如座位上考生班级按1班、2班、3班……顺序排列,表面上实现了前后无同班,但容易被阅卷老师发现规律而引起其他的不公。在这种情况下,如果采用简单的方式编排座位,势必造成大量的前述问题。
为保证考生既要随机分布,又要均匀分布,因此,在设计上,要多次用到随机编排。首先是班级内部考生的随机编排,由于得到的原始数据并非按班排列,所以软件首先对全年级数据进行一次按班排序,然后在第五列对学生生成一次随机数,再以班为单位将这些随机数进行排序,这样进行了考生第一次随机,实现班级内学生顺序的随机性。(注:在最终座位表排定前,考号列(D列)、考场列(E列)均作为辅助列,考场号首先都是用数字编号标示。)
……
banji = Cells(30, 22) //班级数
Cells(i 1, 5) = Rnd
For i = 1 To banji
Range("A"
关键词:随机;试场编排;座位表;桌贴
中图分类号:TP393 文献标志码:B 文章编号:1673-8454(2014)14-0065-05
现今中学阶段的学校教务工作中,考务工作占了很大的比重,而考场座位编排是考务信息化管理中一项十分重要的工作。考务工作主要分为考前的考场编排和考后的成绩统计与分析,这里专门就考前的考场编排展开分析和讨论。随着学校办学规模逐渐扩大和学生人数的增加,考场安排的工作量不断加大。因此,笔者决定编写基于 Excel VBA的考场编排系统,希望通过本系统能实现对考场教室进行合理有效的管理。
我们采用Excel作为系统编写工具。Excel不仅具有强大的制表功能,同时还内置了系统开发工具VBA。VBA是指Visual Basic for Application,它是在Office中广泛应用的宏语言,可以直接对Excel对象进行编程,从而提高Excel的利用效率。使用它可以增强Excel的自动化能力,使用户更高效地完成特定任务。
软件分为试场编排、座位表生成、桌贴的制作三大模块。设计完成后,工作人员将基本数据,如考生名册(含班级)、考场基本信息(考场名称、每考场人数等)录入到软件中,软件自动对考生进行考场随机编排,编排完成后,要使学生能基本均匀地分布在各考场,同时,实现同考场中前后座位不同班,各考场人数可以不同,每列人数可以不同。另外,根据实际生成座位表、各班考生座位分布表、考生桌贴等。
一、考场编排
在中考或高考中,考场人数一般是30人,但基于学校实际在实际操作中很难做到,一般会出现各考场人数各异。有鉴于此,考场编排系统需具备很大的灵活性,因此软件必须取得以下信息:学生名册,考场名称,各考场人数,各考场每列人数。
在编排试场时,要尽量保证学生座位的随机性。对此每个学校都有自己的做法,有的按前一次考试成绩进行排座位,有的按姓氏笔画排座位,有的采用Excel随机函数来排座位。对于这些排座位的方式,虽在一定程度上实现了随机性,但都存在前后同班情况的出现。网上也有采用VBA编写的考场编排软件,但班级分布上还是存在多种问题,如5班考生大量出现在某个考场,但隔壁考场却没有一个5班考生,另外也出现了类似班级分布是固定的,如座位上考生班级按1班、2班、3班……顺序排列,表面上实现了前后无同班,但容易被阅卷老师发现规律而引起其他的不公。在这种情况下,如果采用简单的方式编排座位,势必造成大量的前述问题。
为保证考生既要随机分布,又要均匀分布,因此,在设计上,要多次用到随机编排。首先是班级内部考生的随机编排,由于得到的原始数据并非按班排列,所以软件首先对全年级数据进行一次按班排序,然后在第五列对学生生成一次随机数,再以班为单位将这些随机数进行排序,这样进行了考生第一次随机,实现班级内学生顺序的随机性。(注:在最终座位表排定前,考号列(D列)、考场列(E列)均作为辅助列,考场号首先都是用数字编号标示。)
……
banji = Cells(30, 22) //班级数
Cells(i 1, 5) = Rnd
For i = 1 To banji
Range("A"