在Ecel中设计试卷生成系统

在Ecel中设计试卷生成系统

ID:25771729

大小:74.20 KB

页数:11页

时间:2018-11-22

在Ecel中设计试卷生成系统_第1页
在Ecel中设计试卷生成系统_第2页
在Ecel中设计试卷生成系统_第3页
在Ecel中设计试卷生成系统_第4页
在Ecel中设计试卷生成系统_第5页
资源描述:

《在Ecel中设计试卷生成系统》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、在Excel中设计试卷生成系统作为一名教师,经常要经历考试、出卷这个过程。虽然“无纸化”考试已经开始被大家所了解,但真正实现的学校却不多。作为一名信息技术教师,我希望能够利用计算机开发出一套简单实用、可以自动生成试卷的系统,把大家从繁琐的出卷过程中解放出来。考虑到试卷要打印出来,我没有选择VB,而是选择了大家都很熟悉的Excel2000,利用其中的VBA脚本语言来实现试卷的自动生成。 系统实现的功能 1.组卷方式为章节控制方式。保证各章节的分值不易失衡,根据出题者的要求,按章节随机从题库中抽题组卷。 2.格式化试卷(

2、包括设置试卷标题、进行页面设计、添加页眉等),达到可以直接打印的要求。 3.题库中试题内容与参考答案融为一体,由系统生成的试卷文档既可以打印出学生考试用卷,也可以打印出样卷。 构建题库 .. 该系统题库采用Excel表格的形式,字段名分别为“标准答案”、“题干”、“答案A”、“答案B”、“答案C”、“答案D”(如图1)。题库中的记录可以采用两种方法来录入: 1.直接手工录入:打开工作簿,在题库工作表中可以直接输入题目; 2.从已有题库文件中导入到Excel题库里面,比如可以从现成的Access题库中直接导入到该题库里

3、。 但是无论哪种方法都必须满足下面的条件:所有的题目按章节排序,并记录每一章节题目的起始位置,以后向题库里面添加记录时不能在文件尾追加,而是要放到所属章节的位置,并修正试卷生成界面里相应的地方。 建立试卷生成界面 .. 所谓试卷生成界面就是系统提供给用户的用于输入各种条件值的地方,本系统是由用户设定各章节所出题目的个数,因此界面比较简单。我们把工作簿中的Sheet3工作表设计为系统界面(如图2)。在该界面下用户只要在B列相应单元格中输入每个章节的题目数(例如,第一、二章都出10个题,就在B1、B2单元格里分别输入10

4、,没有出题的章节后面可以为空白,如图2所示),然后按“Ctrl+D”组合键执行宏命令就可以生成试卷。其中此界面除B列外其余各列都设置为保护状态,以避免用户的误操作影响程序的执行。在图2中我们还可以看到D、F列标明了题库中每一章题目的起始位置,这里的设置是在完成题库后根据题库内容来填写,一般只填写一次,如果题库的内容有变化,一定要在此处作相应的改变。 生成试卷 ..生成试卷是本系统的核心部分,这部分的设计主要是采用Excel里面的宏命令。其中的关键代码主要是自己编制的,有些辅助功能采用录制宏的方法实现。本系统的组卷方式

5、为按照各章节要求的题目数自动随机组卷,所以核心代码部分为三个方面:按照用户要求产生符合要求的随机数,并把该数存储于一个数组中,产生的随机数就是选中题目的序号;按要求把所选记录复制到Sheet2工作表中,并转换成我们常见的试卷模式;格式化试卷。 1.生成随机数 本系统中的随机数主要是标志出现在试卷中题库记录的位置,例如我们随机产生了一个数99,表示题库中第99条记录是我们试卷中的一个题目。关于随机数的要求:一是生成的数必须不能重复,这样就避免试卷中重题的出现;二是生成的数必须在给定的范围里产生,如图2所示要求,第一章的

6、题目范围是1~117,所以我们产生的10个随机数必须是在1~117之间的不能重复的数。具体实现代码如下: ①产生一定范围的随机数我们用RND()函数,我们把产生的这个函数赋予临时变量j,其中的fanwei(1,1),fanwei(1,2)为图2中D、F列中相应值。 ..j=Int(Rnd()*(fanwei(l,2)-fanwei(l,1)+1))+fanwei(l,1) ②产生不重复的随机数。我们采用的方法是用新产生的数和前面产生的数分别比较,如果不同就直接记入数组id(),如果有相同的话重新再生成,然后再比较,如

7、此循环。 Fori=1Totimu(l) a:j=Int(Rnd()*(fanwei(l,2)-fanwei(l,1)+1))+fanwei(l,1) id(i)=j '避免产生重复的随机数 Fork=1Toi-1 Ifj=id(k)Then GoToa: ..Else id(i)=j EndIf Nextk 2.按产生的随机序列组卷 上述第一步中我们已经选择好了试卷的题目,这里需要做的就是把选择好的题目复制到Sheet2工作表中并转换成我们常见试卷的样式,这里我们采用循环的方式,先是按顺序把题目从题库中复制到She

8、et2工作表中,然后把选项A、B、C、D分别放在不同的行上,重复这个过程直到完成。 ①复制记录到Sheet2中 Range(Cells(id1(i),1),Cells(id1(i),6)).Select Selection.Copy ..Sheets("Sheet2").Select Range(Cells(i,1),Cells(i,1)).S

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。