近日,朋友说要做一个试题库,实现自动组卷,我想了许久:觉得是个比较复杂的问题,特向有经验的朋友求教!
复杂在哪里呢?
1.设定章节所占比例,即试卷总分中选定章节所占比例.
2.设定试题难易度比例,即总分中各题难易度所占比例.
3.设定各题型所占总分的分值.
4.试卷总分设置
以上几项是我想到了,如果单拿出一项来做应该简单,但关键是得组合考虑,这样就不简单了!
把以上几项组合规则后,随机抽题很难得出一套非常符合条件的!这该怎么办?
5.随机抽得的题总分相加未必等于设定试卷总分,这样以如何解决呢?

解决方案 »

  1.   

    设计两个必需的字段,一个是记录的ID(唯一),一个是试题类别,先针对一种类别进行查询,查询时,还要先生成唯一的随机数对应ID,然后根据此随机数取回一条该类别的记录,再循环查询下一个记录,该类别查询完毕后,重复上述步骤取另一个类别的试题。当然,也可以用不同的数据表来存储不同类别的试题。至于如何生成唯一的随机数,CSDN论坛里有。
      

  2.   

    各位可能想简单了,如果是单一条件的抽题那很简单,生成随机数在库里抽就是了,但现在关键是一个综合条件的问题.大家仔细想想:首先:每题的分值不同,你抽的题不一定恰好是100分的!
    第二:比如,我设定试卷中,第一章绪论占10%,第二章XX占20%,第三章XXX占30%,第四章ZZZ占40%;同时,单选题占10分,多选题目占20分,填空题占20分,简答题占25分,论述题占25分;并且,难度易占20%,中占30%,难占30%,很难占30%;
    大家说要怎样去自动组卷,去满足上述条件呢?可以说很难组一套100%符合的试卷!问题的关键不在抽,抽好实现,关键在你怎么能使抽出的试卷是一套标准的满足条件的试卷!
      

  3.   

    你可以增加一列比例设定啊。
    如果想要完整的代码,恐怕需要money,毕竟,这个活要花上一点时间。
      

  4.   

    拜托
    你10%这个分数总是固定的吧比如你先把分数算出来比如是10分,然后从2分的绪论题库里抽5个不就ok了多分出几个数据段而已的事情再比如你数据结构是20分,那就从数据结构的题库里抽出20分的题目不就ok了?自己要想复杂了,这个就是麻烦点,啥技术含量都不需要
      

  5.   

    报一下我的题库设计吧:
    课程表:ID,编码,名称
    章节表:ID,编码,名称,知识点,所属课程
    题表:ID,编码,题目,答案,所属章节,题型,难度,分值
    随机数我想应该是在1~题型总数中随机产生就行了我还是想可能会出现无法实现自动组卷的情况,自动组卷成功率完全是个不确定的!
      

  6.   

    vb3的frm文件是二进制,不能打开。要命的是数据库用的是access 1.0,也没办法打开,sorry!
      

  7.   

    在我的印象中VB3的frm,也可以用记事本打开的呀