delphi 如何让将选择题库数据生成一道选择题,ABCD选项是随机的?
发布网友
发布时间:2022-04-24 13:00
我来回答
共2个回答
热心网友
时间:2023-10-13 15:58
我也作过考题系统,我的办法是:自动生成的考题是放到别外一个数据库中的,自动出题成功后所有的数据都在考卷库中,与题库是没关系的。
从题库到考卷库中选项随机的问题我是用Random(3)+1来解决的,这个函数的作用是随机产生1-4随机值,将已经移出的选项作个标记,并将答案放到 答案字段中(注:考卷数据库中的答案是根据随机值来写入数据的,考卷数据库中的答案与题库中的答案是不一样的)
总结一下:新建一个考卷数据库,出题后将出的题目放到考卷数据库中,如果新出题就先清空考卷数据库
代码:出100个题目
循环(100)
将题目放到考卷数据库中
随机值
将选项1放到考卷数据库中
记录答案
随机值
将选项2放到考卷数据库中
记录答案
随机值
将选项3放到考卷数据库中
记录答案
随机值
将选项4放到考卷数据库中
记录答案
将答案放到考卷数据库中
循环结束
热心网友
时间:2023-10-13 15:58
就考试题本身而言,可用电脑来命题题目类型,最多也就是判断题,单项选择题,多项选择题,填空题也可以。简答题,和论述题是不能使用软件来解决的。除非你的软件做的非常的复杂,否则判分就会出问题。
考试题数据库设计问题。就选择题而言,试题主题用一个字段,选项用一个字段,标准答案用一个字段保存。
你的“数据库中的选择题库的一行数据,(字段为 题干、选项一、选项二、选项三、选项四、答案)转化为一道选择题”问题,这样做是不好操作的,你的意思是说,选项也是活的,明明只要四个选项,但我准备了七、八个选项,出题的时候随机抽四个出来做选项。对于软件设计来说,这并非不可能,但是需要写大量的代码来进行解析。如果用少写代码就可以解决的问题,而你偏要用几千上万行的代码来解决,这叫愿者上钩,因为你愿意这样,所以这代码只能你自己来写。