19.1 课前导读
19.2 课堂教学
19.3 上机练习
19.4 课后作业第 19课 网 上 考 试
19.1 课前导读网上考试又称为在线考试,是 Web技术应用的一个典型实例 。 一个完整的网上考试系统要考虑的实际因素很多,如怎样设计测试题库,如何制定合理评分体系等等 。 在技术层面上,网上考试系统要解决诸如学生身份确认,随机出题,考试时间倒计时,自动阅卷等问题 。 这些,需 要 用 到 ADO 的 Connection,
RecordSet对象和存储特定考生信息的 Session对象的方法和属性 。
19.2 课堂教学
19.2.1 网上考试系统
19.2.2 考试系统的改进
19.2 课堂教学本课的,网上考试,主要包括以下内容:
① 建立一个简单的网上考试系统,主要实现考生登录,显示题目和评定考试成绩等功能 。
② 改进考试系统,使用框架结构显示试卷 。
③ 在,上机练习,中进一步完善考试系统核心框架的功能,增加管理考生信息的页面 。
19.2.1 网上考试系统
1,数据库设计
2,创建考生登录页面
3,创建考试答题页面
4,考试成绩评分页面
19.2.1 网上考试系统实现网上考试的基本功能:考生登录,出题与答题,评定成绩 。 功能分别由 Login.asp,Test.asp和
Result.asp等 3个文件来实现 。
1,数据库设计将试卷进行标准化后,很容易把考试题目建成一个数据库中的一个表 —— 试题表 Topic。 这里将问题简化,假设试题表中每一条记录中存放一个题目,每题又由考试题目,答案选项 A,答案选项 B,答案选项
C,答案选项 D等 5个字段组成 。 另外,参加考试的学生名单也需要建立一个考生信息表 Student,有编号,
口令,成绩等 3个字段 。
数据库用 Access格 式 来 建 立,对 应 于 文 件
Exercise.mdb。 试题表 Topic和考生信息表 Student结构如表 19-1和表 19-2所示 。
表 19-1 试题表 Topic结构字段名 数据类型 必填 说明
Question 文本 否 考试题目
A 文本 否 答案选项 A
B 文本 否 答案选项 B
C 文本 否 答案选项 C
D 文本 否 答案选项 D
说明:试题的正确答案为答案选项 A,在出题的时候将随机调整 4个选项的顺序,以达到各份试卷决不雷同 。
表 19-2 考生信息表 Student结构字段名 数据类型 必填 说明编号 文本 否 考生编号口令 文本 否 考生口令成绩 数字 否 考试成绩
2,创建考生登录页面考生登录页面 是网上考试系统的第一个页面,通过连接数据库中的 Student表接受并验证考生身份,确认通过后,引导考生到 Test.asp页面开始考试 。 编写考生登录页面的 代码,并将文件以 Login.asp为名存盘 。
说明:如果该考生已经参加过考试,则会出现提示界面 。
3,创建考试答题页面通过身份认证后,进入 考试答题页面 。 该页面从试题表中随机抽取 10道选择题,并对每题的 4个选项随机调换,然后显示试题及选择项 。 每个选择项都有一个选项按钮,每道试题为一个,选项按钮组,。 全部作好选择后,按下方,交卷,按钮,该页面的选择信息将被送到 Result.asp进行评分 。
页面的状态栏中显示,剩余时间,。
打开记事本,编写考试页面 代码,并将文件以
Test.asp为名存盘 。
说明:程序开始定义了一个 Sub过程,用于显示剩余时间 。
4,考试成绩评分页面考试评分页面内含有判分逻辑,可以将成绩划分为三个等级:优秀,及格和不及格 。 打开记事本,在其中编写 代码,并将文件以 Result.asp为名存盘 。
说明:评分页面中采用 Session对象只与特别用户相关的特点,通过前改变 Pass变量的值来指示下一个
ASP页面的转向,从而避免重复上载答案 。
19.2.2 考试系统的改进
1,使用框架结构显示试卷
2,创建框架上方来源文件
3,修改考试答题页面
4,修改评分页面
19.2.2 考试系统的改进对 考试系统 作如下改进:
① 使用框架结构显示试卷;
② 避免重复出卷 。
1,使用框架结构显示试卷将程序 Test.asp改名 Test2.asp留待修改,创建新的 Test.asp作为框架页面,编写 代码 。
说明:框架分为上,下两部分,上面显示考生编号以及剩余时间,来源文件是 Test1.asp;下面显示试卷内容及交卷按钮,来源文件是 Test2.asp。 如图所示 。
2,创建框架上方来源文件打开记事本,在其中输入 Test1.asp的 代码 。
其中代码 TimeSerial(0,0,m)按,时,分,秒,返回由 m给出的剩余时间 。
3,修改考试答题页面框架的下方来源文件 Test2.asp为考试答题页面,
编写其 代码 。
说明:与原,考试答题页面,不同的是:新程序将随机抽取的 10道题及其正确答案存放在 Session对象的数组 Session("shiti")中 。 打开网页后,首先判断是否已有该数组,如有则显示该套试卷,否则就开始出题 。
4,修改评分页面由于存放答案的变量改变了,因此评分页面要做修改,其 代码 。
说明:其中连接代码:
<A href="Login.asp" TARGET=_parent>返回首页 </A>
中的 TARGET=_parent 表 示 在,父窗体,中 显 示
Login.asp页面 。
19.3 上机练习
1,改进用户登录页面
2,添加考生信息页面
3,处理添加考生信息
19.3 上机练习以上的设计中没有考虑由谁来管理考生的编号与密码,下 面 对 此 加 以 改 进 。 功能实现主要由
Register.asp和 AddUser.asp来完成 。
【 练习 19-1】 考生编号与密码的管理 。
1,改进用户登录页面在用户登录页面中增加了一个管理员入口,通过该入口,能在增加考生时为该考生设置密码 。
页面是在原有的 Login.asp的基础上改进的 。 其外观 图示 。 编写 代码,并将文件以 Login.asp为名存盘 。
说明:为按钮,管理员入口,定义一个 Click事件,
当输入口令,Register” 时,实现向 Register.asp的转向 。
2,添加考生信息页面添加考生信息界面 提供了增加考生的功能 。
在记事本中编写 代码,并将文件以 Register.asp
为名存盘 。
在代码中考虑到每个用户都要有密码进行保护,
所以,密码不能为空 。
3,处理添加考生信息在增加新的考生信息时,还要考虑不能重复输入同名考生,这需要在数据库中进行核对 。 据此编写出如下程序 。
打开记事本,输入 代码,并将文件以 AddUser.asp
为名保存 。
说明:本页面为处理页面,没有要在窗口中显示的信息,只有如图 19-8所示的几个出错提示框 。