28,391
社区成员
发帖
与我相关
我的任务
分享
Set rs = conn.Execute("SELECT AVG(总分) FROM (SELECT TOP " & HSTotal & " 总分 FROM 总分统计 where 试卷编号=" & id & " ORDER BY 总分 DESC)")
AVGH = rs(0).Value
rs.Close
Set rs = Nothing
Set rs = conn.Execute("SELECT AVG(总分) FROM (SELECT TOP " & HSTotal & " 总分 FROM 总分统计 where 试卷编号=" & id & " ORDER BY 总分 DESC"))
AVGH = rs(0).Value
rs.Close
Set rs = Nothing
' 高分区学生平均成绩
Set rs = conn.Execute("SELECT AVG(总分) FROM (SELECT TOP " & HSTotal & " 总分 FROM 总分统计 where 试卷编号=" & id ORDER BY 总分 DESC ))
AVGH = rs(0).Value
rs.Close
Set rs = Nothing
Dim STotal, HSTotal, LSTotal, AVGH, AVGL, W, D
W = 100 ' 假设试题满分为 100 分
Set rs = conn.Execute("SELECT COUNT(*) FROM [表]") ' 学生总数
STotal = rs(0).Value
rs.Close
Set rs = Nothing
HSTotal = STotal * 27 \ 100 ' 高分区学生数
LSTotal = HSTotal ' 低分区学生数
' 高分区学生平均成绩
Set rs = conn.Execute("SELECT AVG([成绩]) FROM (SELECT TOP " & HSTotal & " [成绩] FROM [表] ORDER BY [成绩] DESC)")
AVGH = rs(0).Value
rs.Close
Set rs = Nothing
' 低分区学生平均成绩
Set rs = conn.Execute("SELECT AVG([成绩]) FROM (SELECT TOP " & LSTotal & " [成绩] FROM [表] ORDER BY [成绩] ASC)")
AVGL = rs(0).Value
rs.Close
Set rs = Nothing
' 试题区分度
D = (AVGH - AVGL) / W
Response.Write "试题区分度:" & D & "<br />"
If D >= 0.4 Then
Response.Write "试题区分度等级:优"
ElseIf D>=0.3 And D<0.4 Then
Response.Write "试题区分度等级:良"
ElseIf D>=0.2 And D<0.3 Then
Response.Write "试题区分度等级:可"
Else
Response.Write "试题区分度等级:差"
End If