⾃动择题及试卷⽣成系统-Read
⾃动择题及试卷⽣成系统
《PB》课程设计报告
----⾃动择题及试卷⽣成系统
专业:计算机科学与技术(师范)
班级:2005级(5)班
姓名:张艳(06050512)
指导教师:殷红先
2008年2⽉21⽇
⼀、设计内容
题⽬:⾃动择题及试卷⽣成系统
要求:能根据⼀定规则从⾃动题库中⽣成试卷,具备查询、删除、修改、预览、打印等基本功能。以英语考试为范例。
⼆、算法思想描述
1、登录界⾯
在界⾯中输⼊指定的⽤户名和密码(本系统中⽤户名为dba,密码为sql),为保证密码的安全性,密码采⽤“*”号形式显⽰,
按“确定”键之后,如果⽤户名和密码均正确,则安全登录本系统,如果不正确,则提⽰⽤户密码或者⽤户名不正确,要求重新输⼊。
2、主界⾯
主界⾯采⽤⼀种简单直观的形式,设置⼀选单,点击各选单项出现相应的应⽤模块。
3、⾃动择题
⾃动择题模块分为两个⼩模块,⼀种是输⼊各项要求之后⾃⼰从数据库中选择题⽬以⽣成试卷,另⼀种则是输⼊各项要求之后系统本⾝随机选择题⽬。
三、程序结构
本系统的结构如下图1所⽰:
图1
具体分析:
1、程序保存运⾏之后,打开登录页⾯(如图2所⽰),这⾥⽤户名为dba,密码为sql,其中密码⽤“***”显⽰,使其更加安全。
图2 图3
2、登录不成功,则跳出⼀“messagebox”(如图3),提⽰⽤户密码或者⽤户名不正确,同时⾃动清空刚才⽤户所输⼊的数据。
3、登录成功,则进⼊主界⾯(图4),主界⾯只有⼀排选单,使得各
操作模块化,简洁明了。
图4 图5
4、第⼀个选单“系统帮助”中分为“系统注册”和“帮助信息”两个模块,其中“系统注册”(图5)为⽤户提供注册功能,⽽“帮助信息”则为使⽤者提供适当的帮助。
5、第⼆个选单“试卷⽣成”也分为“⾃动⽣成”和“⼿⼯出题”两个模块,“⼿⼯出题”模块中,⽤户输⼊各项要求之后⾃⼰从数据库中选择题⽬以⽣成试卷(图6),⽤户需双击数据库中⾃⼰所需要的题⽬,同时为⽤户提供预览功能(图7)
图6 图7
附:双击数据窗⼝中的题⽬在多⾏编辑框中⾃动显⽰的代码
在dw_1的doubleclicked()事件中:
数据结构与算法分析答案int rw1,rw2
if ="单项选择题" then
rw1=w()
string str1,str2
str1=itemstring(rw1,2)
str2=itemstring(rw1,3)
=+str1+"~r~n"+str2+"~r~n"
else
rw2=w()
string str3
str3=itemstring(rw2,2)
=+str3+"~r~n"+"~r~n"+"~r~n"+"~r~n"
end if
在“⾃动⽣成”模块中,⽤户输⼊各项要求之后,系统⾃动为⽤户随机⽣成试卷,如图8所⽰,⽤户在输⼊各项数据之后点“确定”按钮,系统⾃动在右边的多⾏编辑框中⽣成随机选择的题⽬,同时该窗⼝和“⼿⼯出题”窗⼝⼀样,为⽤户提供“预览、修改、保存、打印、关闭”等功能。
图8
附:能实现随机选题的代码
在“确定”按钮的clicked()事件中:
dw_1.settransobject(sqlca)
ieve()
int a,b,c
for a=1 to dec() step 1
int lrw
lrw=rand(w_autochoose.wcount())
string str1,str2
str1=w_autochoose.itemstring(lrw,2)
str2=w_autochoose.itemstring(lrw,3)
=+str1+"~r~n"+str2+"~r~n"
next
for b=1 to dec() step 1
int lrw2
lrw2=rand(w_autochoose.wcount())
string str3
str3=w_autochoose.itemstring(lrw2,4)
=+str3+"~r~n"
next
for c=1 to dec() step 1
int lrw3
lrw3=rand(w_autochoose.wcount())
string str4
str4=w_autochoose.itemstring(lrw,5)
=+str4+"~r~n"+"~r~n"
next
6、系统中的“退出”或者“关闭”按钮都为⽤户提供关闭当前窗⼝的功能。
四、收获与体会
这次的课程设计作业是从暑假就着⼿写起的,写过了很多的版本,最后在开学以后经过⽼师的提点,得出了现在的版本。
在整个“设计”的过程中,我不断地体会着“程序=数据结构+算法”这句话,以前的我,总是觉得算法好难,写程序更难,可能缘着这种紧张⼜不⾃信的⼼理,《数据结构》这门课我学得很⼀般,为了不⾄于落后班上的⾼⼿太多,我在暑假⾥就开始了数据结构的设计。但是由于整个暑假学了⼀个半⽉的第⼆外语,就没有很多的时间放在课程设计上了。
我要做的题⽬是“链表的维护与⽂件形式的转换”,初看起来,是很简单的⼀个题⽬,因为⽆论是C语⾔课还是数据结构课,我们都有上过有关“链表”的知识,⽽且有关“链表”的作业题也做过,所以⼀开始这道题⽬给我的印象就是简单。
当我编写好第⼀个版本(这个版本纯粹是链表的插⼊啊,删除啊之类的)的时候,我拿给我的⽗亲看,告诉他这是⼀个模
拟“超市库存”的⼩软件,我⽗亲看了⼀下,告诉我这个
软件缺少最基本的安全性,我才想起我应该为这个⼩软件加⼀把“模拟锁”,因此有了“⽤户登录”这⼀步骤。这个⼩⼩的细节让我感到,课程设计与平时的写代码是不完全⼀样的,课程设计,不仅重视“课程”,也注重“设计”,既然是设计,就要尽量地朝着“商品库存”这个模式去设计,虽然核⼼代码是不变的,但是我想正是那些⼩⼩的“花样”会让你的设计达到意想不到的效果。
我在设计过程中,最⼤的收获来源于吉⽼师⼀个简单的提⽰,我想也是很多⼈所忽视的地⽅,那就是所谓的“进货与售货”,我们可能都知道链表结点的插⼊、删除和修改是怎样的,但真正怎样将这些融会贯通起来运⽤到实际的设计中去,却是很⽋缺的,“进货”,要先查询库存中有没有该商品,如果有那就要修改链表结点,没有的话就要增加链表结点了,“售货”的道理也是⼀样的,因此我深刻体会到课程设计绝不是把课本上的知识⽣搬硬套,⽽是要懂得灵活地运⽤到平时的设计中去,我想这⼤概也是“算法”的奥秘吧,你也许知道链表插⼊和修改的算法,但是你却可能不知道“进货”的算法,这也让我懂得任何问题都需
要“进⼀步思考”!
当然这次课程设计也让我在变成能⼒⽅⾯有了提⾼,特别是“⽂件操作”⽅⾯,虽然在⼤⼀的时候就学过了“⽂件”⽅⾯的操作,但是由于当时没认真学,所以很是⽣疏,现在在设计中真正应⽤到了,才觉得它的重要性,我想⽣活中的很多设计都应该会和⽂件打交道吧,所以在这⽅⾯⼀定要更加的花⼯夫吧。
⼀、需求分析和概念设计
⾼校的考试管理⼯作,是⼀件⾮常繁琐且⼯作量很⼤的事,不仅⼯作任务繁重⽽且试卷的标准化程度、难易程度、题量⼤⼩等各⽅⾯难以控制,难以形成有效的试题库,利⽤计算机进⾏试卷的⾃动⽣成,形成有效的试题库,实现⽆纸化办公,分析题库现状通过强⼤的查询和⾼效的索检,对试题和试卷的管理将变的更加便捷,对提⾼⼯作效率,使试卷管理逐步⾛向正规化⾃动化将起到⼗分重要的作⽤。
1、课程设计的⽬的
使⽤ASP 作为开发⼯具,SQL作为后台数据库,设计软件。
通过ASP与数据库设计,培养ASP设计的能⼒。更好地理解和消化课本所学的知识,为今后的实际应⽤打下良好的基础。
2、课程设计的任务
⾃动出卷系统,学⽣登陆以后可以选择考试课程,选择考试难度开始开始,系统⾃动⽣成试卷。要求有覆盖⾯(章节),难度选择(根据学⽣选择的难度),题型⾃动组合(选择,填空,简答,计算等等)学⽣只在⽹上做选择填空,所以成绩只算这些就可以。
3、系统特点:
⾃动出卷系统能够⾃主地规定题型、题量,通过选择覆盖⾯、难度等级、考试时间,⾃动⽣成⼀份试卷,⽅便快捷,内容、题量、难度分布均匀,实现⼿⼯出卷难以达到的标准。学⽣做题可以⽅便查询答案,⽆纸化操作,提⾼答题效率。
4、功能设计:
1、⽤户登录模块:⽤户输⼊⽤户名、密码登录系统,系统根据不同的⽤户权限选择不同的登录界⾯
2、教师修改模块:教师通过选择的科⽬添加、修改、删除相应题⽬,也可直接添加、修改、删除具体科⽬
3、⾃动⽣成试卷模块:根据选择的时间、难度,⾃动⽣成试卷
4、学⽣答卷模块:学⽣可以在线答题,查看答案,统计分数。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。