qx char 1 yes no
(2)题库结构的组成:
列 名 数据类型 长度 允许为空 主键
tno int 4 yes yes
tigan varchar 500 yes no
xa varchar 100 yes no
xb varchar 100 yes no
xc varchar 100 yes no
xd varchar 100 yes no
answer char 1 yes no
score tinyint 1 yes no
difficulty char 1 yes no
note varchar 200 yes no
4.6 试卷生成
试卷生成主要有两种方式:手动生成试卷和自动生成试卷。
手动生成试卷让用户通过浏览题库,自己选择题目,当用户选择的试题重复时(比如:同一知识点在选择题中出现后,又在填空题中出现),系统要能自动检测出冲突,让用户重新选择。并在选择的过程统计各种题型的数目及分值,并总计题量及总分。
自动生成试卷通过设置向导设置条件,调用自动生成试卷程序生成试卷。整个过程如下:先让用户选择各种题型的分值,接着是选择考试的章,然后设置各个章的分值,最后再设置试卷的难度值。接着调用自动生成试卷算法来生成试卷,生成的试卷可以通过试卷预览来查看,还可能根据需要打印试卷。
4.7 自动生成试卷向导模块设计
自动生成试卷程序流程图如下:
4.8 算法概要
自动组卷得的过程是根据某些约束条件,在试题库中选择
满足约束条件试题的过程。这些约束条件一般是指题型、难度、
难度、分值等约束。这些约束条件如果看作是局部约束条件,那
么试卷将达到各项指标的均衡,这样就形成了全局的约束条
件。从这个意义上,计算机的自动组卷实际上就是一个约束
满足的过程。
自动组卷是题库系统的一个重要组成部分
如何在庞大的试题库中选出符合用户要求的试
题,并使组卷具有较高的效率和成功率是试题库
设计的一个难点.现行的试题库系统组卷时一般
有两种方法:一是让用户详细地提出每一道试题
的题型!难度!章节分布等要求,然后利用随机函
数在试题库中进行选题,这种方法选出的试题的
确能满足用户的要求,但对使用者来说过于繁琐
工作量太大,并不实用[1];二是用户只给出有关
试卷命题的整体要求,此时由于组卷问题是一个
典型的约束满足问题,因此可以采用回溯法找到
满足全部约束条件的一个解,但是在强约束下,经
常会出现无法组成满足性能要求的试卷[2,3].本
文提出的组卷算法,首先根据用户的命题要求计
算出本次试卷的量化模型,包括各种题型的试题
题分分配矩阵和各难度类型的试题在各章中的题分分配矩阵,然后采用随机抽取和近似匹配的策
略进行抽题组卷.此种方法不仅能够生成满足用
户命题要求的试卷,而且减轻了用户的工作量,并
在一定程度上提高了组卷的效率.
本文提出的组卷策略中提到的用户的命题要
求主要包括:
抽出的试卷具有随机性
同一份试卷中无知识点重复的试题
试卷所涉及的章
试卷的难易度控制
用户的命题要求通过人机交互的方式给出
它反映了用户对试卷的整体难度!各章节分布情
况以及各类型试题的比例要求.为了避免题库系
统盲目地选题:首先将用户对试卷整体的命题要求(如试卷的期望值这样的全局指标)进行分解,
得到有关试卷的各项局部指标(如各类试题的分
数及难度);然后在试题库中有目的性地选题,这
样可以大大提高组卷的效率和成功率.
单独满足条件(1)的算法实现较为简单,但是要同时满足条件(2)(3)(4),从庞大的数据库中随机选出试题,组成的试卷既要满足给定的题型要求,又要使试卷中各试题的难度值满足试卷的平均难度,同时又要使试卷中的知识点不重复,试题库结构的合理组建和出卷算法的优化就显得非常重要。
本文以基于知识点的层次结构试题库模型为基础,采用随机算法,使组成的试卷满足教学的实际要求,还需为每一类题型 创建一个表单,即共创建4个表单:选择题表单,用来存放选择题的全部数据;填空题表单,用来存放填空题的全部数据;问答题表单,用来存放问答题的全部数据;判断题表单。用来存放判断题的全部数据特征(每一章试题根据特征分成若干项类)、试题难易程度、分值、和试题特点确定选择的先后顺序)是查询所需的关键字段。查询时可同时或分别匹配难易程度、试题特征等条件进行查询浏览。
人工组卷时,只要匹配这些查询条件。就可以迅速选到所需的相应试题‘也可将试题特征、难易程度。按试题章节查询浏览库。
自动组卷: 自动组卷的好坏取决于试卷模型的设计质量和产生合适的随机数。建立试卷模型时。应确定每道试题的章节内容、难易程度及试题总量,用Delphi提供的随机数发生据返回一个随机数,其值在0-1之间。为了用此数取到模型,必须将此数变成一个合适的整数。编程时,先得到满足条件的记录集,再由产生的随机数确定记录,演出记录中的试题编号,检查是否满足条件。根据试题总数进行循环,完成自动组卷。为避免取到相同的试题,应将每次刚取到的试题和已经取到的试题进行比较,如果有相同的试题则此次选题作废,从而保证取到满足条件又不相同的试题。
4.8.1 随机策略
有时满足某指标的试题可能有多个,有时候某一试题可能适合多种选题情况。为了均匀选题,又保证同一份试卷不能出现相同的试卷,可采取有控随机策略。事行设计好一个运算速度快,周期长,分布均匀的随机数发生器。
4.8.2 补偿策略
在实际组卷过程中,由于指标间的相互牵制,以及试题库题量的有限性,往往很难使这些指标都得到百分之百的满足。如果把这些指标卡死,有时仅仅是为了一分之差,计算机要不断筛选,甚至进入无休止的循环。如果允许一定的误差,就可以减少很多不必要的循环搜索,提高组卷的效率和成功率。其基本思想是这样的:当某一指标的累计值出现正误差时(选中试题累计值超过了指标值),如果这个误差是在允许的范围内,则放弃为满足该指标的继续搜索,接受当前结果,而让那些尚未达到指标值且又