-
为了便于说明问题,文中提供的代码中的变量
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(
题目内容
对
-
-
-
-
-
-
-
-
-
上一篇:圣诞节英语儿歌歌曲歌词
下一篇:海德汉系统
计算机随机抽题算法的相关文章
-
人生最落魄最穷的感悟人性的句子,人生最落魄最穷的感悟人性的句子图片
最穷最落魄的经典句子只有在落魄时才懂,愿拉你一把的人何其少。只有在最穷时才懂,再好的感情也难敌现实,人不贪钱却都怕吃苦。2落难时总能看清一些人,一些人不值得!众志成
-
女神节祝福语句简短唯美,女神节祝福语句简短唯美图片
女神节祝福语简短温馨寄语1、八妇女节到此,发条短信祝福你,愿你青春不变,笑容甜甜。4成熟中有丝青涩,艳丽中有丝高贵,优雅中有丝自恋,纯洁中有丝邪念,浪漫中有丝童真,微
-
正能量句子励志短句子及感悟,很暖很治愈的短句
人生感悟正能量励志的句子1、生命必须穿过黑暗才能看到光明。人生中有许多错误,是因为我们不坚持,不努力,然后欺骗自己说一切都是命运。小不知道命运再好,都要经历风雨与黑
-
每日清晨祝福语大全,每日清晨祝福语大全遂宁
每日早上好的祝福语短句1、短信一条,祝福送到;短信一条,关怀送到;短信一条,添衣加帽;短信一条,烦恼丢掉;短信一条,开心笑笑;短信一条,幸福报道,祝你早上安好。春天
-
处理婆媳关系最好的办法,敢和婆婆翻脸的女人
怎样处理好婆媳关系1、如何才能处理好婆媳关系1如何才能处理好婆媳关系不要随便向老公告状婆媳相处过程中,总有些磕磕碰碰,作媳妇的要学会多多包容,以宽容的心态去对待老人家
-
给领导早晨的祝福短信,给领导早上问候语正能量
给领导发微信祝福语怎么说?给领导祝福语如下:很荣幸过去的一年里能在你的领导下工作和学习,祝你在新的一年里健康如意,马到成功。在新春里,我举起杯,任晶莹的思绪,悄悄地
- 100句爱情甜言蜜语经典用语大全
- 人生最落魄最穷的感悟人性的句子
- 女神节祝福语句简短唯美
- 正能量句子励志短句子及感悟
- 每日清晨祝福语大全
- 处理婆媳关系最好的办法
- 给领导早晨的祝福短信
- 杨绛先生关于读书的经典语录
- 给团队打气激励的句子名句
- 王者荣耀国服诸葛亮是谁
- 就是三句话(精辟)白洛梅
- 人生
- 关于拼搏的名言名句名诗摘抄
- 心情低落的图片一个人背影
- 记录孩子开心时刻的句子
- 好好珍惜
- 人生很短
- 余生很贵
- 台湾作家龙应台经典语录目送
- 形容感情一路走来不容易的句子
- 张爱玲名言名句
- 经典语录
- 熬过最难最经典的语句接下来
- 让前任瞬间流泪的句子100字
- 励志的人生格言图片带字
- 2023励志的句子经典语句发朋友圈
- 杨绛先生情感语录大全
- 适合心情低落的句子100字
- 三国志战略九游版下载
- 余华爱情经典语录
- 心情低落的图片压抑
- 经典古训100句图片大全
- 关于青春奋斗的名人名言鲁迅
- 三国群英单机版手游礼包码
- 不收费的情感挽回专家电话
- 新婚贺语怎么说祝福语
- 适合小学生包容的句子经典语录
- 开启美好一天的句子
- 林徽因传
- 结婚祝福语句句暖心
- 正能量的句子经典简短100
- 沈从文语录经典语录关于爱情
- 史铁生的简介和作品
- 打动人心的爱情句子:我的眼里容不了一粒沙
- 平凡的生活.简单的幸福的句子累并快乐着
- 母爱的最经典金句
- 相守一生不离不弃的句子
- 余华的作品值得初中生看吗
- 奇妙萌可珍珠公主变好
- 喝酒后的心情经典句子
- 努力挣钱的霸气图片
- 有深度有涵养的句子精选
- 高情商女人分手说的话
- 铁杆三国折扣平台和官方服互通吗
- 女人拼命挣钱经典句子一段话
- 郭老师经典语录猕猴桃
- 台湾刘墉作品经典语录
- 千古绝句最霸气古诗文
- 高中经典语录励志短句
- 每天的问候语图片大全周末
- 被感动的语句经典语录
- 三国志战略版灵犀官方客户端
- 一个人喝酒的文案高级感
- 活着好累好压抑的图片大全
- 高中佳句积累摘抄关于青春
- 男人无所谓忠诚女人无所谓正派是什么意思
- 电视剧三国演义司马懿名言名句
- 挽回女友的一封感动信
- 老公家庭暴力怎么治他以后不敢再家暴
- 感悟人生图片带字大图
- 努力干活的句子加油短句
- 励志名言100句经典
- 袁爷爷的真名叫什么
- 王者荣耀韩信操作视频
- 外墙蜘蛛人施工安全协议
- 酒与人生的经典句子英文
- 一天一句早安问候语
- 杨绛语录经典语录女人要明白
- 三国志战略版qq客户端
- 每天一句正能量励志经典语录
- 赚钱的最高境界一句话简短
- 夸别人的语句怎么说
- 作家情话经典语录
- 有幸相遇
- 不负遇见的句子
- 爱因斯坦曾经说过什么话
- ppt制作评语优缺点20条
- 三国演义诸葛亮火烧司马懿
- 想和老公沟通的心里话句子
- 小乔长相复原图
- 罗翔老师经典语录读书感悟
- 金钱衡量爱情经典语录短句
- 激励人心的正能量励志短句图片
- 祝天下母亲节祝福语句经典句子
- 修身养性的句子经典语录
- 赞美尽孝的人
- 男女之间有了肌肤之亲林徽因
- 最勾人心的情话句子
- 小学生自律的句子经典语录
- 灌篮高手樱木花道q版图片
- 刘备说过最有名的一句话
- 经典语录吃人
- 鲁迅的名言名句
- 晋江小说经典语录大全摘抄短句
- 余华的语录有哪些
- 送女朋友礼物贺卡情话简短
- 泰戈尔《永恒的青春》英文
- 老婆生日精辟短句文案
- 三毛说过的最美的情话关于吃饭
- 关于读书的好段摘抄
- 家国情怀名言名句摘抄现代名人
- 爸爸对儿子说的励志暖心话
- 句子摘抄经典语录简短霸气
- 对朋友的祝福语句短句
- 激励孩子的话语正能量一段话图片
- 圣经必背1000句
- 余华说过的励志语录
- 小学生作文语句不通顺怎么办
- 一句精辟的座右铭10字以内
- 王者荣耀诸葛亮所有皮肤
- 反省自己做错事的句子
- 晚辈祝福退休的经典语句简短
- 爸爸送给女儿生日的话
- 折扣手游平台app排行榜有奥特曼传奇
- 青春运动的句子简短励志
- 游戏爱情宣言经典语录
- 清晨朋友问候语大全
- 永不褪色的优雅杨绛经典语录图片
- 夫妻关系的句子
- 情侣说说秀恩爱短句一对古风
- 杨绛非常现实的一段话
- 让孩子优秀的三句话
- 杨绛语录经典语录爱情应该是一个灵魂对
- 四川话骂人的方言视频
- 莫言网上最火的一段话独处
- 林徽因爱情经典语录
- 王者荣耀男英雄泳装韩信
- 工作励志的句子经典语句2023
- 祝福健康的句子经典语录简短
- 大染坊全集在线观看搜狐视频
- 王者荣耀特效视频素材
- 赞美教练的句子经典语录
- 值得摘抄的名人名言鲁迅
- 激励努力的句子正能量短句
- 余华的励志语录
- 打动女人心的情话成语
- 夫妻沟通不了怎么办
- 夫妻之间相处之道感悟说说短句
- 和平精英七喵的奶多大
- 袁隆平说过的节约粮食经典语录
- 突然想发个感慨的说说男人
- 辞职祝福语句送朋友
- 感恩朋友的句子经典语录50字
- 杨绛先生最经典的一句话
- 小学生感恩的句子经典语录
- 情感视频素材库无水印9:16
- 莫泊桑经典语录山上的蒲公英
- 励志语录简短正能量及感悟
- 明星大侦探白敬亭的梗
- 马伊琍为什么离婚了
- 杨绛最经典的十句话图片高清
- 四字吉言大全图片
- 心灵鸡汤1000字励志文章大全
- 描写青春的惊艳段落200字
- 一起经历风雨夫妻句子老伴走了以后对妻子的告别
- 余华活着小说经典语录活着是一种力量
- 邪剑仙经典语录想赢不一定要有实力和本钱
- 赞美别人恩爱夫妻的句子经典语录图片
- 挽回对方的句子(精选80句)
- 干净短句暖心8字
- 喝酒高兴的句子经典句子
- 心情失落伤感的图片带字
- 七字吉言大全图片
- 成年说说经典语录图片
- 夫妻应该相互尊重相互理解相互包容
- 分居久了男人心理变化
- 恩爱夫妻的句子经典语录
- 心情突然很低落句子简短
- 伤感文案素材视频无水印网站
- 闺蜜的生日祝福最短
- 室雅兰香篆体书法作品欣赏
- 励志句子大全正能量短句
- 餐饮简短美句
- 如何点评别人的ppt汇报
- 杨绛写给中年女人的信原文
- 知否之盛老太太之子
- 禅语感悟人生的句子句句净化心灵
- 销售工作点评语句大全
- 莫言最透彻的一段话
- 浪漫而不烂俗的高级文案
- 杨绛语录经典语录图片高清
- 今天心情低落的句子简短图片
- 名人名句摘抄简短的
- 老公说心累了要离婚很坚决
- 人到中年的精辟感悟短语
- 袁隆平珍惜粮食的名言名句
- 张爱玲情话经典短句
- 夫妻间的甜蜜短句
- 骂蚊子的话语经典语句
- 心情低落说说发朋友圈图片带字