请问一个试题生成系统应该如何做?(100分)(50分)

  • 主题发起人 主题发起人 邓胖子
  • 开始时间 开始时间

邓胖子

Unregistered / Unconfirmed
GUEST, unregistred user!
请问一个试题生成系统应该如何做?(100分)
 
说得详细点吧,有些什么题型啊?主观题和客观题怎样的……
 
做个数据库,随机抽取罢了!
 
不行的吧,还有难度,范围什么的吧,挺多的。
 
数据库设计时要合理。可加一个字段为试题难度。
随机抽题时不能重复。
 
同意 林沐 的说法,主要是数据库设计的合理性,
要加一些辅助的字段,如 难度,类型,章节,
然后在可以按这些字段讲试题库分类
再按照要求在不同的类中 再随机抽取。

 
先设计一个存题库的TABLE
可能有的属性有:ID,类型,知识点,难度,题目内容,题目答案,备注。。。
当题目足够多了,用户设定要生成试题的格式。
如:
从题库中随机抽20道题,要求:
1、题型:选择10道,填空5道、问答5道
2、知识点:知识点1占50%、知识点2占20%、知识点3占30%
3、难易度:容易占30%、难占50%、较难占20%

选题方法:
1。根据各种条件分配题目数量
选择:10
填空:5
问答:5

知识点1:10
知识点2:4
知识点3:6

易:6
较难:4
难:10

同时要设定3个数组,分别记录这三类条件,并按分配情况填写具体的条件,
类型[20]={选择,选择,。。。选择,填空。。。,填空,问答。。问答}
知识点[20]={。。。。}
难度[20]={。。。。}

2。
随机设定3个数组的指针,任意取出一组条件(类型,知识点,难度),并标记数组值取出
后,内容=-1,然后根据这组条件,从题库中任意选出一题。

3。
再随机设定3个数组的指针,(不能再指向-1),选出一组条件,,并标记数组值取出
后,内容=-1,然后根据这组条件,从题库中任意选出一题(不能与已选出的题重复)。

4。直至选出全部20道题。

5。如果因为体量原因,最后不能根据随机选取的条件得到题目,则删除上一道题,并恢复
数组状态,重新选择上一题,再不行,再重选上两道题。
 
那么随机抽取怎么实现?random好像只能在一个integer类型内抽取一个数,有没有直接
抽取数据库内一条记录的函数??
 
chinaplate,代码拿来。
我的信箱是:jyq@sd163.net
谢谢!
 
设计好题库,一般有多套题,每套题一般要覆盖考试要求的大部分内容,所有上面的办法
都不理想。表中设一字段,来标明是第几套题中的第几题,这个应该很容易。
例如:A001:可以表示第一套中的第一道。等等。明白了吧。
 
算你选对了工具了。不过你搞通delphi与office的结合哟。
 
VBA更合适吧!
 
该问题讨论较多:
http://www.delphibbs.com/delphibbs/dispq.asp?LID=1062516
http://www.delphibbs.com/delphibbs/dispq.asp?LID=965509
http://www.delphibbs.com/delphibbs/dispq.asp?LID=1015281
http://www.delphibbs.com/delphibbs/dispq.asp?LID=929381
http://www.delphibbs.com/delphibbs/dispq.asp?LID=1051908
http://www.delphibbs.com/delphibbs/dispq.asp?LID=962919
......
一个考试系统,要是一个适用的,应是一个较为复杂的,涉及方方面面的问题。
 
我已经用Delphi+SQL Server+VBA做了一个,呵呵
 
后退
顶部