如何实现网页版的在线答题并可判断对错

如何实现网页版的在线答题并可判断对错,第1张

可以先选择一款 *** 作简单、功能齐全的在线答题系统,不管是想要使用手机或者是电脑网页版进行在线答题,通过在线答题系统都可以实现,系统也会根据设定的正确答案自动判断对错进行评分。

在线答题系统可通过以下三步实现网页版在线答题并判断对错:

第一步,需要在在线答题系统中创建考试答题,填写考试的信息,选择试卷类型,然后导入试题进行试卷设计:

1、答题系统支持Word、Excel和TXT导题模板,利用模板可将试题题干、试题解析、试题答案批量上传到系统里,建立自己的试题库。

2、有固定试卷、随机试卷和抽题试卷三种试卷类型,在选择了试卷类型之后,可以使用自己习惯的导题方式手动导入试题,也可以选择从题库中选取试题来进行组卷。

第二步,设置考试配置项,发布试卷:

1、在线答题系统有多项配置项可以来设置考试规则,如考试时间、答题时长、可考次数、试卷模式、成绩显示、答题设备设置等。

2、有人脸识别身份、摄像头拍照监考、防止切屏、试卷页面无 *** 作监控、禁止复制粘贴、试题选项乱序等防作弊设置。

第三步,在线答题系统有自动阅卷和人工阅卷两种方式,对于主观性较强的试题类型,可以在后台进行人工阅卷;客观题在考生交卷后,系统会自动对比正确答案进行阅卷,为了让客观题的阅卷判分更加精准,在线答题系统有多种判分规则可以设置:

1、对于多项选择题或不定项选择题,可以按正确选项个数占比得分或者是漏选只得试题分数的百分比(百分比可以自行设置)来进行判断对错得分。

2、填空题可以设置“判分时不区分答案先后顺序”和“只要匹配答案的部分关键字就可得分”的判分规则。

3、对于问答题,可以设置得分点和关键词来精准判分,每个得分点都可以自行设置得分比例。

要看网页答题脚本,首先要明确脚本的目的,是用来自动完成答题任务还是用来检测答案的正确性。如果是前者,那么需要编写程序代码,从网页中抓取题目和选项,然后根据题目的类型,采用相应的算法来解答。如果是后者,则需要编写程序代码,从网页中抓取答案,然后与正确答案进行比较,以判断答案的正确性。无论是哪种情况,都需要熟悉HTML、CSS和JavaScript等编程语言,以及熟悉网页答题的流程和要求,才能编写出高效的答题脚本。

利用ASP和Access数据库制作局域网网上答题系统

本系统由Index. asp、Lkzk.asp、Save.asp、Db0.fun 四个小程序及Access数据库文件lkzk.mdb组成各程序的功能分别是:

1. Index. asp 是框架网页,负责导入Lkzk.asp、Save.asp两个子网页组成完整的程序页面。

2. Lkzk.asp 是随机出题答题的交互页面生成程序,主要完成随机选题、题目显示、答案输入及正确率、总答题数显示等功能。

3. Save.asp 完成答题正误判断、显示及成绩登记(按客户端IP地址)。

4. Db0.fun 包含打开Access数据库的多个函数(Lkzk.asp、Save.asp都用到的)。

5. lkzk.mdb Access数据库文件,由表“IP”和表“题库”组成。

表(IP)由编号字段ID(数字格式)、客户机地址字段IP(文本格式)、错误答案数字段nnn(数字格式)、正确答案数字段yyy(数字格式) 所组成;

表“题库” 由题号字段ID(数字格式)、单选多选标记字段dx(数字格式)、答案字段xz(文本格式)、试题内容字段na(备注格式)所组成。(注:试题内容的选择部分必须为“A. …… B. …… C. …… D. ……” 格式)

--------------- Index. Asp-----------------

<html>

<head>

<title>网上司考试题库</title>

</head>

<frameset rows="87%,*" framespacing="0">

<frame name="top" src=image/lkzk.asp scrolling="auto">

<frame name="bottom" scrolling="auto" marginwidth="0" marginheight="0">

<noframes>

<body>

<p>此网页使用了框架,但您的浏览器不支持框架。</p>

</body>

</noframes>

</frameset>

</html>

--------------Lkzk.asp-------------

<!-- #include virtual="/lkzk/DB0.fun" -->

<%

Set rsu2 = GetMdbStaticRecordset("lkzk.mdb", "IP")

Set rs = GetMdbStaticRecordset("lkzk.mdb", "题库")

%>

<HTML>

<head>

<title>网上司考试题库</title>

</head>

<BODY >

<font size="4" color="#000080">司考试题库

<%

ClientIP = Request.ServerVariables("REMOTE_ADDR")

userIP=Right(ClientIP,Len(ClientIP)-InStrRev(ClientIP,"."))

rsu2.AbsolutePosition=userIP

Randomize

I=Fix(Rnd*1800)

rs.AbsolutePosition=I+1

%>

总第<%=CStr(I+6)%>题 <%'=rs("type")%>

<FORM Action=save.asp Method=GET target="bottom">

<INPUT Type=Hidden Name=AI Value="<%=I%>">

<HR>

<% s=rs("na")

x=InStr(s,"A.")

sx="多选"

if rs("dx")=0 then

sx="单选"

end if %>

<%=Left(s,x-1)%>'显示除选择部分外的试题内容

<font color="red">

<%=sx%><BR>'显示是单选还是多选题

</font>

<% s=Right(s,Len(s)-x+1)

x=InStr(s,"B.") %>'以下开始显示复选框及选择部分

<INPUT Type=CheckBox Name=A Value="a">

<%=Left(s,x-1)%><BR>

<%s=Right(s,Len(s)-x+1)

x=InStr(s,"C.")%>

<INPUT Type=CheckBox Name=A Value="b">

<%=Left(s,x-1)%><BR>

<%s=Right(s,Len(s)-x+1)

x=InStr(s,"D.")%>

<INPUT Type=CheckBox Name=A Value="c">

<%=Left(s,x-1)%><BR>

<%s=Right(s,Len(s)-x+1)%>

<INPUT Type=CheckBox Name=A Value="d"><%=s%>

<BR>

<INPUT Type=Submit Value="查看答案">

<a href="lkzk.asp" target="_self">继续做题</a><BR>

<%if rsu2("nnn")+rsu2("yyy")=0 then rsu2("yyy")=1 end if%>

正确率:<%=FormatNumber(rsu2("yyy")/(rsu2("nnn")+rsu2("yyy"))*100, 2, True)%>%

总答题数:<%=rsu2("nnn")+rsu2("yyy")%>

</form>

</font>

</BODY>

-----------------Save.asp-------------------

<!-- #include virtual="/lkzk/DB0.fun" -->

<%

Set rsu2 = GetMdbStaticRecordset("lkzk.mdb", "IP")

Set rs = GetMdbStaticRecordset("lkzk.mdb", "题库")

%>

<HTML>

<BODY >

<% I=CInt(Request("AI"))

rs.AbsolutePosition=I+1

ssx="错"

A=Replace( Request("A"), ", ", "" )

if A=rs("xz") then '判断答题正误

ssx="对"

end if

%>

<FONT Color=Red>

您答<%=ssx%>了 '显示答案正误等信息

</FONT>

试题库总第<%=CStr(I+1+5)%>题 您的答案是:<%=A%>

参考答案是:<%=rs("xz")%>

<%

ClientIP = Request.ServerVariables("REMOTE_ADDR")

userIP=Right(ClientIP,Len(ClientIP)-InStrRev(ClientIP,"."))

rsu2.AbsolutePosition=userIP

rsu2.Update

If ssx="对" then

rsu2("yyy") =rsu2("yyy")+1

End if

if ssx<>"对" then

rsu2("nnn") =rsu2("nnn")+1

End if

rsu2.Update '以下将正误结果记录于数据库表“IP”中

%>

</BODY>

</HTML>

--------------Db0.fun----------------

<% ' 以下为函数程序

'---------------------------------------------------

Function GetMdbConnection( FileName )

Dim Provider, DBPath

Provider = "Provider=Microsoft.Jet.OLEDB.4.0"

DBPath = "Data Source=" &Server.MapPath(FileName)

Set GetMdbConnection = GetConnection( Provider &DBPath )

End Function

'---------------------------------------------------

Function GetMdbRecordset( FileName, Source )

Set GetMdbRecordset = GetMdbRs( FileName, Source, 2, "" )

End Function

'---------------------------------------------------

Function GetMdbStaticRecordset( FileName, Source )

Set GetMdbStaticRecordset = GetMdbRs( FileName, Source, 3, "" )

End Function

'---------------------------------------------------

Function GetConnection( Param )

Dim conn

On Error Resume Next

Set GetConnection = Nothing

Set conn = Server.CreateObject("ADODB.Connection")

If Err.Number <>0 Then Exit Function

conn.Open Param

If Err.Number <>0 Then Exit Function

Set GetConnection = conn

End Function

'---------------------------------------------------

Function GetMdbRs( FileName, Source, Cursor, Password )

Dim conn, rs

On Error Resume Next

Set GetMdbRs = Nothing

If Len(Password) = 0 Then

Set conn = GetMdbConnection( FileName )

Else

Set conn = GetSecuredMdbConnection( FileName, Password )

End If

If conn Is Nothing Then Exit Function

Set rs = Server.CreateObject("ADODB.Recordset")

If Err.Number <>0 Then Exit Function

rs.Open source, conn, Cursor, 2

If Err.Number <>0 Then Exit Function

Set GetMdbRs = rs

End Function

'---------------------------------------------------

%>

具体参考:


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11846005.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-19
下一篇 2023-05-19

发表评论

登录后才能评论

评论列表(0条)

保存