-
为了便于说明问题,文中提供的代码中的变量
pd
为从题库中要抽取出来考试的试题数量,数据库表名
与字段名我都使用了中文,并仅以
判断题为例。
算法一
由
于不知道如何实现从题库中随机抽取试题的
sql
语句,我在网
上下载了几个免费的考试系统进行研
究,找到了第一种算法,其思路为先将数据库中所有
数据读出,获得试题的总数后,生成一个
1
~(试
题的总数-考试的试题数量)之间的随机数,然后从这里开始读出数据:
<% set
rs=Object(
sql=
判断题
order by id
asc
sql,conn,1,1
mycound=count
’取得试题总数
randomize
’初始化随机数种子值
n=fix((mycound-pd+1)*Rnd+1)
n
‘指针移到
n
< br>这个随机数这个位置
for
i=1 to pd
session(
正确答案
‘用
session
p>
来记录标准答案
‘输出试题及答案
%>
width=
、
<%=rs(
题目内
容
对
错
<% xt
next
%>
这种算法基本上可以实现随机
抽取试题,
并让每个学生的试题和每一次刷新以后的试题都不相同,
但是
它的最大不足在于试题的先后顺序总是相同,
特别是题
库中试题不多的时候,
学生几乎可以用背答案方
法来应付考试了
。虽然可以通过改变数据的排序方式来改变试题的先后顺序,但变化总是不大。
算法二
第二种算法的思路很简单,就是不断生成
1
~题库中的试题总数之间的随机数,然后到数据库中读取这
条记录,直到满足考试的
试题量为止。
<%
set rs=Object(
sql=
判断题
order by id
asc
sql,conn,1,1
mycound=count
’取得题库中的试题总数
for i=1 to pd
randomize
sid=int((mycound +1)*rnd+1)
‘生成
1
~题库中的试题总数之间的随机数
set
rs=e(
判断题
where id=
while
randomize
sid=int((mycound +1)*rnd+1)
set
rs=e(
判断题
where
id=
‘如果数据库中找不到这条试题,就
继续生成随机数读取试题。
wend
session(
正确答案
‘用
session
来
记录标准答案
‘输出试题及答案
%>
width=
、
<%=rs(
题目内
容
对
错
<%
next
%>
这种算法应该是真正意义上的
随机抽取试题,
但是遗憾的是如果在题库中题量不多的情况下,
很容易会
在数据库中读取重复的试题,
如果再使用一个变量来储
存已经读取过的试题
id
来解决试题重复的问题,
算法就过于繁琐,是很不可取的。
算法二补充:
第二种算法的思路很简单,就是不断生成
1
~题库中的试题
总数之间的随机数,然后到数据库中读取这
条记录,
直到满足考
试的试题量为止。
当时我认为这种算法应该是真正意义上的随机抽取试题,
但是遗
憾的是如果在题库中题量不多的情况下,
很容
易会在数据库中读取重复的试题,
虽然也可以再使用一个
变量或
数组来储存已经读取过的试题
id
来解决试题重复的问题,算法
就过于繁琐。为此,我片面地认
为不可取的。其实用一个变量或数组来储存已经读取过的
试题
id
,在算法上并不繁琐。
<%
写一个生成随机记录的函数
Function
rndtest(m_count,r_count)
’
’参
数
m_count
为试题总数,
r_c
ount
为要读出的试题数
dim x,st,i
i=0
do while i>=r_count
randomize
x=fix(rnd*m_count)+1
’
’产生
1~m_count
的随机数
if not instr(st,x)>0
then
st=st&x&
’
p>
’用
,
分割
i=i+1
end if
if
i>=m_count then exit do
’
’如果
m_count
小于
r_count<
/p>
将出现死循环,于是判断并跳出循环
loop
rndtest=st
end function
set rs=Object(
sql=
判断题
order by id
asc
sql,conn,1,1
mycound =rndtest(count, pd)
’取得题库中的试题总数
testcound=split(mycound,
’
for
i=0 to UBound(testcound)
teposition=matrix(i)
‘把记录指针移指向第
testcound
(i)
条记录
session(
正确答案
‘用<
/p>
session
来记录标准答案
‘输出试题及答案
%>
、
<%
=rs(
题目内容
对
错
<%
next
%>
算法三
由
于第二种算法容易造成试题重复,
为了避免系统产生重复的随机数,
我试着将题库中试题总数均分为
kp
个范围,让每个范围个
产生一个随机数,这样就有效地避免了随机数重复。
<% set rs=Object(
sql=
判断题
order by id
asc
sql,conn,1,1
mycound=count
’取得试题总数
for i=1 to pd
randomize
temp=fix((fix(count/pd)+1)*rnd+1)
‘生成
1
~题库试题总数除以试卷试题数之间的随
机
数
temp
‘指针移到随机数位置
session(
正确答案
‘用
session
来记录标准答案
‘输出试题及答案
%>
width=
、
<%=rs(
题目内容
对
-
-
-
-
-
-
-
-
-
上一篇:圣诞节英语儿歌歌曲歌词
下一篇:海德汉系统
计算机随机抽题算法的相关文章
-
余华爱情经典语录,余华爱情句子
余华的经典语录——余华《第七天》40、我不怕死,一点都不怕,只怕再也不能看见你——余华《第七天》4可是我再也没遇到一个像福贵这样令我难忘的人了,对自己的经历如此清楚,
-
心情低落的图片压抑,心情低落的图片发朋友圈
心情压抑的图片(心太累没人理解的说说带图片)1、有时候很想找个人倾诉一下,却又不知从何说起,最终是什么也不说,只想快点睡过去,告诉自己,明天就好了。有时候,突然会觉得
-
经典古训100句图片大全,古训名言警句
古代经典励志名言100句译:好的药物味苦但对治病有利;忠言劝诫的话听起来不顺耳却对人的行为有利。3良言一句三冬暖,恶语伤人六月寒。喷泉的高度不会超过它的源头;一个人的事
-
关于青春奋斗的名人名言鲁迅,关于青年奋斗的名言鲁迅
鲁迅名言名句大全励志1、世上本没有路,走的人多了自然便成了路。下面是我整理的鲁迅先生的名言名句大全,希望对你有所帮助!当生存时,还是将遭践踏,将遭删刈,直至于死亡而
-
三国群英单机版手游礼包码,三国群英手机单机版攻略
三国群英传7五神兽洞有什么用那是多一个武将技能。青龙飞升召唤出东方的守护兽,神兽之一的青龙。玄武怒流召唤出北方的守护兽,神兽之一的玄武。白虎傲啸召唤出西方的守护兽,
-
不收费的情感挽回专家电话,情感挽回免费咨询
免费的情感挽回机构(揭秘情感挽回机构骗局)1、牛牛(化名)向上海市公安局金山分局报案,称自己为了挽回与女友的感情,被一家名为“实花教育咨询”的情感咨询机构诈骗4万余元。
- 三国志战略九游版下载
- 余华爱情经典语录
- 心情低落的图片压抑
- 经典古训100句图片大全
- 关于青春奋斗的名人名言鲁迅
- 三国群英单机版手游礼包码
- 不收费的情感挽回专家电话
- 新婚贺语怎么说祝福语
- 适合小学生包容的句子经典语录
- 开启美好一天的句子
- 林徽因传
- 结婚祝福语句句暖心
- 正能量的句子经典简短100
- 沈从文语录经典语录关于爱情
- 史铁生的简介和作品
- 打动人心的爱情句子:我的眼里容不了一粒沙
- 平凡的生活.简单的幸福的句子累并快乐着
- 母爱的最经典金句
- 相守一生不离不弃的句子
- 余华的作品值得初中生看吗
- 奇妙萌可珍珠公主变好
- 喝酒后的心情经典句子
- 努力挣钱的霸气图片
- 有深度有涵养的句子精选
- 高情商女人分手说的话
- 铁杆三国折扣平台和官方服互通吗
- 女人拼命挣钱经典句子一段话
- 郭老师经典语录猕猴桃
- 台湾刘墉作品经典语录
- 千古绝句最霸气古诗文
- 高中经典语录励志短句
- 每天的问候语图片大全周末
- 被感动的语句经典语录
- 三国志战略版灵犀官方客户端
- 一个人喝酒的文案高级感
- 活着好累好压抑的图片大全
- 高中佳句积累摘抄关于青春
- 男人无所谓忠诚女人无所谓正派是什么意思
- 电视剧三国演义司马懿名言名句
- 挽回女友的一封感动信
- 老公家庭暴力怎么治他以后不敢再家暴
- 感悟人生图片带字大图
- 努力干活的句子加油短句
- 励志名言100句经典
- 袁爷爷的真名叫什么
- 王者荣耀韩信操作视频
- 外墙蜘蛛人施工安全协议
- 酒与人生的经典句子英文
- 一天一句早安问候语
- 杨绛语录经典语录女人要明白
- 三国志战略版qq客户端
- 每天一句正能量励志经典语录
- 赚钱的最高境界一句话简短
- 夸别人的语句怎么说
- 作家情话经典语录
- 有幸相遇
- 不负遇见的句子
- 爱因斯坦曾经说过什么话
- ppt制作评语优缺点20条
- 三国演义诸葛亮火烧司马懿
- 想和老公沟通的心里话句子
- 小乔长相复原图
- 罗翔老师经典语录读书感悟
- 金钱衡量爱情经典语录短句
- 激励人心的正能量励志短句图片
- 祝天下母亲节祝福语句经典句子
- 修身养性的句子经典语录
- 赞美尽孝的人
- 男女之间有了肌肤之亲林徽因
- 最勾人心的情话句子
- 小学生自律的句子经典语录
- 灌篮高手樱木花道q版图片
- 刘备说过最有名的一句话
- 经典语录吃人
- 鲁迅的名言名句
- 晋江小说经典语录大全摘抄短句
- 余华的语录有哪些
- 送女朋友礼物贺卡情话简短
- 泰戈尔《永恒的青春》英文
- 老婆生日精辟短句文案
- 三毛说过的最美的情话关于吃饭
- 关于读书的好段摘抄
- 家国情怀名言名句摘抄现代名人
- 爸爸对儿子说的励志暖心话
- 句子摘抄经典语录简短霸气
- 对朋友的祝福语句短句
- 激励孩子的话语正能量一段话图片
- 圣经必背1000句
- 余华说过的励志语录
- 小学生作文语句不通顺怎么办
- 一句精辟的座右铭10字以内
- 王者荣耀诸葛亮所有皮肤
- 反省自己做错事的句子
- 晚辈祝福退休的经典语句简短
- 爸爸送给女儿生日的话
- 折扣手游平台app排行榜有奥特曼传奇
- 青春运动的句子简短励志
- 游戏爱情宣言经典语录
- 清晨朋友问候语大全
- 永不褪色的优雅杨绛经典语录图片
- 夫妻关系的句子
- 情侣说说秀恩爱短句一对古风
- 杨绛非常现实的一段话
- 让孩子优秀的三句话
- 杨绛语录经典语录爱情应该是一个灵魂对
- 四川话骂人的方言视频
- 莫言网上最火的一段话独处
- 林徽因爱情经典语录
- 王者荣耀男英雄泳装韩信
- 工作励志的句子经典语句2023
- 祝福健康的句子经典语录简短
- 大染坊全集在线观看搜狐视频
- 王者荣耀特效视频素材
- 赞美教练的句子经典语录
- 值得摘抄的名人名言鲁迅
- 激励努力的句子正能量短句
- 余华的励志语录
- 打动女人心的情话成语
- 夫妻沟通不了怎么办
- 夫妻之间相处之道感悟说说短句
- 和平精英七喵的奶多大
- 袁隆平说过的节约粮食经典语录
- 突然想发个感慨的说说男人
- 辞职祝福语句送朋友
- 感恩朋友的句子经典语录50字
- 杨绛先生最经典的一句话
- 小学生感恩的句子经典语录
- 情感视频素材库无水印9:16
- 莫泊桑经典语录山上的蒲公英
- 励志语录简短正能量及感悟
- 明星大侦探白敬亭的梗
- 马伊琍为什么离婚了
- 杨绛最经典的十句话图片高清
- 四字吉言大全图片
- 心灵鸡汤1000字励志文章大全
- 描写青春的惊艳段落200字
- 一起经历风雨夫妻句子老伴走了以后对妻子的告别
- 余华活着小说经典语录活着是一种力量
- 邪剑仙经典语录想赢不一定要有实力和本钱
- 赞美别人恩爱夫妻的句子经典语录图片
- 挽回对方的句子(精选80句)
- 干净短句暖心8字
- 喝酒高兴的句子经典句子
- 心情失落伤感的图片带字
- 七字吉言大全图片
- 成年说说经典语录图片
- 夫妻应该相互尊重相互理解相互包容
- 分居久了男人心理变化
- 恩爱夫妻的句子经典语录
- 心情突然很低落句子简短
- 伤感文案素材视频无水印网站
- 闺蜜的生日祝福最短
- 室雅兰香篆体书法作品欣赏
- 励志句子大全正能量短句
- 餐饮简短美句
- 如何点评别人的ppt汇报
- 杨绛写给中年女人的信原文
- 知否之盛老太太之子
- 禅语感悟人生的句子句句净化心灵
- 销售工作点评语句大全
- 莫言最透彻的一段话
- 浪漫而不烂俗的高级文案
- 杨绛语录经典语录图片高清
- 今天心情低落的句子简短图片
- 名人名句摘抄简短的
- 老公说心累了要离婚很坚决
- 人到中年的精辟感悟短语
- 袁隆平珍惜粮食的名言名句
- 张爱玲情话经典短句
- 夫妻间的甜蜜短句
- 骂蚊子的话语经典语句
- 心情低落说说发朋友圈图片带字
- 节约粮食缅怀袁隆平作文
- 一半烟火
- 所谓生活
- 一半清欢说说
- 劝人少喝酒的经典幽默句子
- 朋友问候语简短最美的句子图片
- 杨绛名言名句经典语录
- 杨绛语录经典关于爱情的句子
- 有深度有涵养的句子简短
- 618激励员工干劲的句子
- 十句鼓励的名人名言
- 不放弃不气馁的名言名句
- 彼此鼓励相互成长相互进步的诗句
- 夫妻冷战分居最好的解决方法
- 龙应台《目送》原文经典
- 王者荣耀高端局只承认四个上单
- 茶的句子经典语录图片
- 每天励志正能量句子
- 关于兴趣的教育名言名句大全
- 中年人的感悟人生的文案
- 大染坊男人无所谓忠诚是因为背叛的筹码太低什么意思
- 怎样抓住老公的心让他更爱你
- 李嘉诚的20句人生金句配图
- 名言名句摘抄大全
- 一键去除衣物看见身体p图软件
- 夫妻携手并肩共同努力的句子图片
- 诸葛亮的名言名句夫君子之行
- 家长点评怎么写简单点关于孩子做早餐