高分寻求一个数据算法,分不够再加!!!

camel4057 2004-04-05 11:02:32
在tblstk表中存有ID,text,answer,easy,Ctype,require字段的试题,分别代表:实体编号,试题内容,试题答案,难易程度,试题题型,大纲要求;
用select * from tblstk where easy='一般' 来选出试题,但这里存在一个问题:如果选出来的试题中有这样两道题:(选择题)1.计算机由哪五部分组成,请选择:() A....B....C...D....E....;(填空题)2.我们常说的计算机的五大部分,是:______.______.________._______.________;我们可以看到,如果这两道题同时出现在一套试题中就失去了意义,我们要防止这种情况的出现,如何实现检测出这两道题属于同一题型,或同一考点?????
...全文
11 点赞 收藏 12
写回复
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
hzhd2000 2004-04-12
太简单了,有兴趣的话打电话给我:
0571-88225083
回复
camel4057 2004-04-12
我想这样来做:
因为每一题都用自己所属的章节,在选出来的题目中,再选出章节相同的题目来进行比较,比较题目和答案的相似性,但这样带来的就是速度的代价,效率会降低很多,如果在此基础上加上knowledge字段,也是略显麻烦,想在比较的算法上进行优化,不知应该如何实现优化,我现在想的比较算法打算用“逐个字符比较法”,如在下面的两题中因该如何实现??:
1 计算机由哪五部分组成,请选择:() A、运算器 B、控制器 C、存储器 D、输入设备 E、输出设备 一般 选择题 了解 计算机的五大部分
2 我们常说的计算机的五大部分,是: 运算器 控制器 存储器 输入设备 输出设备 一般 填空题 掌握 计算机的组成

回复
ZhangYv 2004-04-09
再多加一个关键字,需要一个“考点或知识点”,这样虽然会带来效率的下降,但是在分配考题时就可以更灵活和合理。
回复
wangq1979 2004-04-09
能不能把题目改一改,让两个题目相同或者比较接近,然后在提取的时候根据题目的相似程度来判断。这就要求数据库输入的时候,由人工判断题目的相似性
回复
camel4057 2004-04-05
假如试题录入员将两道题:(选择题)1.计算机由哪五部分组成,请选择:() A....B....C...D....E....;(填空题)2.我们常说的计算机的五大部分,是:______.______.________._______.________;的考点都设为了“计算机的组成”
那:select * from tblstk where easy='一般' group by Ctype, knowledge;岂不是还是二者都选出来了,没有达到检测过滤的效果呀?

回复
pupwbfxxy 2004-04-05
同意加一个考点字段knowledge
你可以通过考点和题型分组来过滤
select * from tblstk where easy='一般'
group by Ctype, knowledge;
这句话是指先按题型和考点先分组,然后从每个组中找easy = '一般' 的题
回复
camel4057 2004-04-05
关键还是,如果录入试题的那个人根本不知试题的知识点,或者对试题一点也不懂,如何办呀?
而且就算是用知识点字段,那知识点也只是一个大点,不会分得太细,如上面的列子中说道的那样的试题,如何检测呀,更何况知识点的问题还是用些不便.....
回复
liem 2004-04-05
增加一个知识点字段(或在编号中对知识点进行分类)
回复
camel4057 2004-04-05
如果象上面这位大哥说的那样,岂不是要在添加每一道试题的时候,都要加上一个关键字,如果是这样的话,岂不是很麻烦,而且添加试题的管理员不一定知道或者懂得试题的意思,如果是一个非专业的人来做,这个就行不通了
回复
wlpwind 2004-04-05
每个题设定几个关键词,尽量避免有关键词相同的题,或关键词相同的尽可能 少。
回复
camel4057 2004-04-05
比如结果为(select * from tblstk where easy='一般' ):
ID text answer easy ctype require knowledge
1 计算机由哪五部分组成,请选择:() A、运算器 B、控制器 C、存储器 D、输入设备 E、输出设备 一般 选择题 了解 计算机的五大部分
2 我们常说的计算机的五大部分,是: 运算器 控制器 存储器 输入设备 输出设备 一般 填空题 掌握 计算机的组成


在此结果中knowledge字段的内容不相同,但这个结果没有过滤的效果,请问怎样才能实现????


回复
camel4057 2004-04-05
而且,还会出现:
列 'tblstk.ID' 在选择列表中无效,因为该列既不包含在聚合函数中,也不包含在 GROUP BY 子句中。
列 'tblstk.text' 在选择列表中无效,因为该列既不包含在聚合函数中,也不包含在 GROUP BY 子句中。
列 'tblstk.answer' 在选择列表中无效,因为该列既不包含在聚合函数中,也不包含在 GROUP BY 子句中。
列 'tblstk.easy' 在选择列表中无效,因为该列既不包含在聚合函数中,也不包含在 GROUP BY 子句中。
列 'tblstk.require' 在选择列表中无效,因为该列既不包含在聚合函数中,也不包含在 GROUP BY 子句中。


回复
发动态
发帖子
数据结构与算法
创建于2007-08-27

3.2w+

社区成员

数据结构与算法相关内容讨论专区
申请成为版主
社区公告
暂无公告