利用WORD题库随机组卷方法

合集下载

Word试卷编制实用技巧

Word试卷编制实用技巧

Word试卷编制实用技巧在平时的教学过程中,老师们常常自己编制一些试卷对学生进行阶段性检查测验,然而试卷的编制过程有时却十分费神费力,笔者经过实践,总结出一些编制试卷的实用技巧,感觉非常轻松,下面我们就一起来看看这些技巧吧!一、巧用"查找与替换"在编制语文试卷时,免不了要与汉语拼音打交到,汉语拼音字母中一般没有声调的到可以用英文字母代替一下,有声调怎么办?先用一个固定的符号代替一下,比如把所用到的"ā"用"a1"来代替、"é"用"e2"来代替,直到一份试卷录入完成,使用"编辑"菜单下的"查找与替换"命令,先在查找内容中键入"a1",再在替换为中键入"ā",再单击"全部替换"按钮,便完成了。

另外在编制数学试卷时,常常遇到乘号或除号,同样使用这种方法。

为了便于记忆,可先把"×"记作"*"、"÷"除号记作"/",最后来个一次性全部替换即可。

二、巧用鼠标双击在编制试卷录入完成后,为了把卷面设计得美观些,常把各项的题目要求设成同一种的格式,各项的题目内容设置成另外的同一种格式。

一般先设定某一处的格式,其它多处由于格式相同,其设置常用格式刷来完成。

单击格式刷,它只能刷一次。

如果要多次连续使用同一格式,则应在选定某处的格式后在格式刷上双击,此时按钮将一直处于按下状态,当你不再需要时,可用鼠标单击或按"ESC"键便可放弃。

同样,单击某一绘图工具后可绘制相应的图形,但只能使用一次。

如果想多次连续使用同一绘图工具,可在相应的绘图工具按钮上双击,此时按钮将一直处于按下状态,当你不需要此工具时,可鼠标单击或按"ESC"键。

试题库 自动组卷 系统 的算法设计 与实现

试题库 自动组卷 系统 的算法设计 与实现
区域中进行。
5 在确定的区 用折半算法开 域内 ) 始搜索, 若Q=I 则令 M二[ N一K/]K+M , ( ) , 2 }K若Q二0则 M二[/] , K2 M
} , 据K 询 态 表Ai 的 个 K 根 查 状 链 ; . 行中 第K 元素, 标 位 若 志
为“" 1,
1 扫描试题库, ) 将各类型题数量送试题库数量矩阵M , O J, ) 其中工 工 , nJ 1 ,, o 二 , -,,= , *, 2 2 ,m
2初 化 链 和 取 矩 0 ;O XI) 态 表 选 题 阵, A;- (J 其 )始 状 - , - ,, ,
中I 1 ,- , ,, , o 二 , 0, J 20 2 n =1 m 3 根据 XI ) (, 中的元素产生随机数 K 与 M矩阵中相应 ) J ,
号, “ ” 一两 符 以 了 和“ ” 字 结尾, 便系 卷 时 正 以 统组 抽题 能 确识
别每道试题和对立的答案。试题和答案以文本文件的方式顺
序存放。
33 试题难度系数确定
图1 系统结构示意图
一套试卷是否合理, 要由 主 试题的难易程度结构来体现, 故准确确定试题的难度是优化试卷的核心。本系统将各种题 型的难度值分为五级, 其难度系数分别为。5容易的题)1 . ( ,. 0 ( 较容易的 ,.( 题)1 中等难度的题)20较难的题)25难 5 ,.( ,.( 题) 。这里的难度系数05 25 .一 .只是用以表示试题难易程度 的标示符, 位于每道题的末端。每题难度系数的确定由专家 组共同商讨和根据有关资料确定, 力求难度系数的确定尽量
中图分类号 G 3 : 44 文献标识码: : A
( 一般均将试题分成: 基础知识、 概念理解、 简单应用、 综合应 用、 发展应用五大类) 。如我们用该系统做数学分析试题库自 动组卷系统时, 就将试题按章分成: 基础知识( 填空、 选择)概 , 念理解( 选择、 判断)简单应用( , 计算、 证明)综合应用( , 计算、

巧用Word的宏制作试卷

巧用Word的宏制作试卷

快速输入填空题的空格线我看到很多老师在输入填空题的空格线时,都采用先关闭输入法,后按住“Shift”+“_”的方法画空格线。

用这种方法,是以半角字符画线,而且在录入过程中需要不断地切换输入法,很不方便。

如果我们利用Word 2000中提供的“宏”功能,指定键盘上的一个组合键对应一段空格线,就可以在以后的输入填空题的空格线中轻松地使用快捷键来画线了。

单击“工具→宏→录制新宏”,打开“录制宏”对话框,输入宏名,如“空格线”,并在“将宏指定到”栏中单击“键盘”,打开“自定义键盘”对话框。

这时在键盘上按下用来代替该宏操作的快捷键,如“Ctrl”+“F12”;在“将修改保存在”对话框中,选择“试卷”。

如图1所示。

依次单击[指定]、[关闭]按钮,光标变为空心箭头加磁带形式,进入录制状态。

这时按住“Shift”+“_” 画一段空格线。

然后,单击“录制宏”工具栏中的“停止录制”按钮,就完成了宏录制。

注意:在录制状态,所有操作都将被录制到宏操作里,所以不要进行和画空格线无关的操作。

这次录制宏,看起来挺麻烦,但能够做到一劳永逸,有了它,以后就可以轻松方便了。

在以后输入填空题的空格线时,只需用“Ctrl”+“F12”就可以轻松输入空格线。

如果觉得空格线长度不够,可以连续按“Ctrl”+“F12”。

快速输入判断题的虚线和括号在判断题的最后,一般都要输入一个填写答案的括号,这个括号的位置往往设在题目最后一行的最右边。

一般老师们习惯用虚线来连接题目和括号。

在此,也可以录制一个“宏”指定到键盘上,使判断题后的虚线和括号也能快捷输入。

打开“录制宏”对话框,输入宏名,如“虚线括号”,并将宏指定到键盘的组合键如“Ctrl”+“F11”。

进入录制状态后,进行如下操作:在水平标尺的右端(希望判断题题末右括号出现的位置)单击,标尺上会出现一个制表位“┗”,双击该制表位,打开“制表位”对话框。

在“对齐方式”中,选择“右对齐”;在“前导符”栏中,选择虚线来连接题目和括号(如图2所示)。

在Word中从Access数据库随机抽取试题制作试卷的方法

在Word中从Access数据库随机抽取试题制作试卷的方法

在Word中从Access数据库随机抽取试题制作试卷的方法在Word中,从Access数据库的对应表中,随机抽取试题并制作成一定版面的试卷,我作了一些尝试,试卷要求:生成大题及对应的分值,题目随机抽取,单选、多选答案也要随机变化(其中含有“以上”字样开头的,必须是第三个或者第四个答案),并根据抽取的题目情况,生成对应的参考答案文件(文件是文本文件)。

一、数据库其中blankQt、judgeQt、multiQt、singleQt结构如上,分别装的是填空题、判断题、多选题、单选题内容。

数据可以自己根据需要填写。

二、VBA窗体利用Word自身所带的VBA,制作窗体如下:三、VBA代码1.模块中代码Sub startMacro()optForm.ShowEnd SubSub readTable(ByVal sBT As String, ByVal sST As String, ByVal iST As Integer, ByVal iMT As Integer, ByVal iJT As Integer, ByVal iBT As Integer)Dim tm(3000) As String, bx(3000, 4) As String, da(3000) As String, i As Integer, j As Integer, cnSq As String, tmCnt As IntegerDim subNo() As Integer, xHs() As IntegerDim tmpTm As String, tmpBx As String, tmpDa As String, tABCD As String, tmpZM As String, outDa As String, qtTitle As String, da1 As StringDim conn As ADODB.ConnectionSet conn = New ADODB.ConnectionDim cnSr As StringcnSr = "driver={microsoft access driver (*.mdb, *.accdb)};dbq=" & ThisDocument.Path & "\nopapertest.mdb"conn.Open cnSrDim refDaFile As StringrefDaFile = ThisDocument.Path & "\" & sST & "(参考答案).txt"Open refDaFile For Output As #1Print #1, sBTPrint #1, sST & "(参考答案)" & vbCrLfsetDocTitle sBT, sST '设置标题(一二级)Dim sRs As ADODB.Recordset '对单选题进行处理Set sRs = New ADODB.RecordsetcnSq = "select 题目,备选A,备选B,备选C,备选D,答案from singleQt"sRs.Open cnSq, conni = 0Do While Not sRs.EOFi = i + 1tm(i) = sRs(0)For j = 1 To 4bx(i, j) = sRs(j)Nextda(i) = bx(i, sRs(5) * 1)sRs.MoveNextLooptmCnt = iReDim subNo(iST), xHs(4)Dim ySBx(4) As StringrandArray subNo, iST, tmCntqtTitle = "一、单项选择题(每小题3分,有" & iST & "个小题,共" & 3 * iST & "分)" Selection.TypeText qtTitle & vbCrLfPrint #1, qtTitlePrint #1, "1-5: ";For i = 1 To iST'Selection.TypeText xHs(1) & xHs(2) & xHs(3) & xHs(4) & vbCrLftmpTm = tm(subNo(i))tmpDa = da(subNo(i))Selection.TypeText i & "、" & tmpTm & vbCrLfySBx(1) = bx(subNo(i), 1)ySBx(2) = bx(subNo(i), 2)ySBx(3) = bx(subNo(i), 3)ySBx(4) = bx(subNo(i), 4)If InStr(ySBx(4), "以上") > 0 And InStr(ySBx(3), "以上") > 0 ThenrandArray xHs, 2, 2xHs(3) = 3: xHs(4) = 4ElseIf InStr(ySBx(4), "以上") > 0 ThenrandArray xHs, 3, 3xHs(4) = 4ElserandArray xHs, 4, 4End IfFor j = 1 To 4tmpBx = ySBx(xHs(j))If j = 1 Then da1 = tmpBxtABCD = Chr(64 + j)Select Case Len(da1)Case Is <= 8If j Mod 4 <> 0 ThenoutDa = tmpBx & vbTabElseoutDa = tmpBx & vbCrLfEnd IfCase Is <= 16If j Mod 2 <> 0 ThenoutDa = tmpBx & vbTabElseoutDa = tmpBx & vbCrLfEnd IfCase ElseoutDa = tmpBx & vbCrLfEnd SelectSelection.TypeText tABCD & "." & outDaIf tmpBx = tmpDa Then tmpZM = tABCDNextPrint #1, tmpZM;If i = iST Or i Mod 20 = 0 ThenIf i = iST ThenPrint #1, ""'Print #1, (i \ 5) * 5 + 1 & "-" & iST & ": ";ElsePrint #1, ""Print #1, (i \ 5) * 5 + 1 & "-" & ((i \ 5) + 1) * 5 & ": ";End IfElseIf i Mod 5 = 0 And i < iST - 5 ThenPrint #1, vbTab & (i \ 5) * 5 + 1 & "-" & ((i \ 5) + 1) * 5 & ": ";End IfEnd IfNextsRs.CloseSet sRs = NothingDim mRs As ADODB.Recordset '对多选题进行处理Set mRs = New ADODB.RecordsetcnSq = "select 题目,备选A,备选B,备选C,备选D,答案from multiQt"mRs.Open cnSq, conni = 0Do While Not mRs.EOFi = i + 1tm(i) = mRs(0)da(i) = ""For j = 1 To 4bx(i, j) = mRs(j)If Mid(mRs(5), j, 1) = "1" Thenda(i) = da(i) & "[[" & bx(i, j) & "]]"End IfNextmRs.MoveNextLooptmCnt = iReDim subNo(iMT), xHs(4)randArray subNo, iMT, tmCntqtTitle = "二、多项选择题(每小题4分,有" & iMT & "个小题,共" & 4 * iMT & "分)" Selection.TypeText qtTitle & vbCrLfPrint #1, vbCrLf & qtTitleFor i = 1 To iMTrandArray xHs, 4, 4'Selection.TypeText xHs(1) & xHs(2) & xHs(3) & xHs(4) & vbCrLftmpTm = tm(subNo(i))tmpDa = da(subNo(i))Selection.TypeText i & "、" & tmpTm & vbCrLftmpZM = ""For j = 1 To 4tmpBx = bx(subNo(i), xHs(j))If j = 1 Then da1 = tmpBxtABCD = Chr(64 + j)If InStr(tmpDa, "[[" & tmpBx & "]]") > 0 ThentmpZM = tmpZM & tABCDEnd IfSelect Case Len(da1)Case Is <= 8If j Mod 4 <> 0 ThenoutDa = tmpBx & vbTabElseoutDa = tmpBx & vbCrLfEnd IfCase Is <= 16If j Mod 2 <> 0 ThenoutDa = tmpBx & vbTabElseoutDa = tmpBx & vbCrLfEnd IfCase ElseoutDa = tmpBx & vbCrLfEnd SelectSelection.TypeText tABCD & "." & outDaNext'Selection.TypeText tmpZM & ": " & tmpDa & vbCrLfPrint #1, i & "." & tmpZM & vbTab;If i = iMT Or i Mod 10 = 0 Then Print #1, ""NextmRs.CloseSet mRs = NothingDim jRs As ADODB.Recordset '对判断题进行处理Set jRs = New ADODB.RecordsetcnSq = "select 题目,答案from judgeQt"jRs.Open cnSq, conni = 0Do While Not jRs.EOFi = i + 1tm(i) = jRs(0)da(i) = jRs(1)jRs.MoveNextLooptmCnt = iReDim subNo(iJT)Dim k As IntegerrandArray subNo, iJT, tmCntqtTitle = "三、判断题(每小题2分,有" & iJT & "个小题,共" & 2 * iJT & "分)"Selection.TypeText qtTitle & vbCrLfPrint #1, vbCrLf & qtTitlePrint #1, "1-5: ";For i = 1 To iJTtmpTm = tm(subNo(i))tmpDa = da(subNo(i))Selection.TypeText i & "、" & tmpTm & vbCrLftmpZM = ""If UCase(tmpDa) = "TRUE" Or UCase(tmpDa) = "ON" Or UCase(tmpDa) = "YES" Or tmpDa = "1"ThentmpZM = "A"ElsetmpZM = "B"End IfPrint #1, tmpZM;If i = iJT Or i Mod 20 = 0 ThenIf i = iJT ThenPrint #1, ""'Print #1, (i \ 5) * 5 + 1 & "-" & iJT & ": ";ElsePrint #1, ""Print #1, (i \ 5) * 5 + 1 & "-" & ((i \ 5) + 1) * 5 & ": ";End IfElseIf i Mod 5 = 0 ThenPrint #1, vbTab & (i \ 5) * 5 + 1 & "-" & ((i \ 5) + 1) * 5 & ": ";End IfEnd IfNextjRs.CloseSet jRs = NothingDim bRs As ADODB.Recordset '对填空题进行处理cnSq = "select 题目,答案from blankQt"Set bRs = New ADODB.RecordsetbRs.Open cnSq, conni = 0Do While Not bRs.EOFi = i + 1tm(i) = bRs(0)da(i) = bRs(1)bRs.MoveNextLooptmCnt = iReDim subNo(iBT)randArray subNo, iBT, tmCntqtTitle = "四、填空题(每小题3分,有" & iBT & "个小题,共" & 3 * iBT & "分)"Selection.TypeText qtTitle & vbCrLfPrint #1, vbCrLf & vbCrLf & qtTitleFor i = 1 To iBTtmpTm = tm(subNo(i))tmpDa = da(subNo(i))Selection.TypeText i & "、" & tmpTm & vbCrLfPrint #1, i & "、" & tmpDaNextbRs.CloseSet bRs = Nothingconn.CloseSet conn = NothingClose #1setTabPosition '为整篇文档设置Tab位置End SubPrivate Sub setDocTitle(ByVal bT As String, ByVal sT As String) '设置文档标题与小标题,分别为一级标题和二级标题ActiveWindow.ActivePane.View.Type = wdOutlineViewSelection.Range.Paragraphs.Style = ActiveDocument.Styles(wdStyleHeading1)Selection.TypeText Text:=bTSelection.HomeKey Unit:=wdLine, Extend:=wdExtendSelection.ParagraphFormat.Alignment = wdAlignParagraphCenterSelection.EndKey Unit:=wdLineSelection.TypeParagraphSelection.Range.Paragraphs.Style = ActiveDocument.Styles(wdStyleHeading2)Selection.TypeText Text:=sTSelection.HomeKey Unit:=wdLine, Extend:=wdExtendSelection.ParagraphFormat.Alignment = wdAlignParagraphCenterSelection.EndKey Unit:=wdLineSelection.TypeParagraphSelection.Range.Style = ActiveDocument.Styles(wdStyleNormal)If ActiveWindow.View.SplitSpecial = wdPaneNone ThenActiveWindow.ActivePane.View.Type = wdPrintViewElseActiveWindow.View.Type = wdPrintViewEnd IfEnd SubPublic Sub clearThisDoc(ByVal b As Boolean)'' clearThisDoc Macro' 清除此文档的所有内容'Selection.WholeStorySelection.Delete Unit:=wdCharacter, Count:=1End SubPublic Sub writeToEachXML(ByVal b As Boolean)Dim connStr As String, conn As ADODB.ConnectionconnStr = "driver={microsoft access driver (*.mdb, *.accdb)};dbq=" & ThisDocument.Path & "\nopapertest.mdb"Set conn = New ADODB.Connectionconn.Open connStrDim xmlFirst As StringxmlFirst = "<?xml version=" & Chr(34) & "1.0" & Chr(34) & " encoding=" & Chr(34) & "utf-8" & Chr(34) & "?>"Dim xmlSrcBegin As String, xmlSrcEnd As StringxmlSrcBegin = "<resources>"xmlSrcEnd = "</resources>"Dim xmlArrBegin(5) As StringDim xmlArrEnd As StringxmlArrEnd = "</string-array>"'以下是单项选择题Dim xmlFileName As StringxmlFileName = ThisDocument.Path & "\S\arrays.xml"Open xmlFileName For Output As #2Print #2, xmlFirstPrint #2, xmlSrcBeginDim sql As Stringsql = "select 题目,备选A,备选B,备选C,备选D,答案from singleQt"Dim rs2 As ADODB.RecordsetSet rs2 = New ADODB.Recordsetrs2.Open sql, connxmlArrBegin(0) = "singletms"xmlArrBegin(1) = "singlebxas"xmlArrBegin(2) = "singlebxbs"xmlArrBegin(3) = "singlebxcs"xmlArrBegin(4) = "singlebxds"xmlArrBegin(5) = "singledas"Dim i As Integer, tmpC As StringFor i = 0 To 5rs2.MoveFirstPrint #2, arraySign(xmlArrBegin(i))While Not rs2.EOFtmpC = rs2(i)tmpC = Replace(tmpC, "&", "&amp;")tmpC = Replace(tmpC, "<", "&lt;")tmpC = Replace(tmpC, "@", "@")tmpC = Replace(tmpC, "?", "?")Print #2, "<item>" & tmpC & "</item>";rs2.MoveNextWendPrint #2, xmlArrEndNextrs2.CloseSet rs2 = NothingPrint #2, xmlSrcEndClose #2'以下多项选择题xmlFileName = ThisDocument.Path & "\M\arrays.xml"Open xmlFileName For Output As #2Print #2, xmlFirstPrint #2, xmlSrcBeginsql = "select 题目,备选A,备选B,备选C,备选D,答案from multiQt" Set rs2 = New ADODB.Recordsetrs2.Open sql, connxmlArrBegin(0) = "multitms"xmlArrBegin(1) = "multibxas"xmlArrBegin(2) = "multibxbs"xmlArrBegin(3) = "multibxcs"xmlArrBegin(4) = "multibxds"xmlArrBegin(5) = "multidas"For i = 0 To 5rs2.MoveFirstPrint #2, arraySign(xmlArrBegin(i))While Not rs2.EOFtmpC = rs2(i)tmpC = Replace(tmpC, "&", "&amp;")tmpC = Replace(tmpC, "<", "&lt;")tmpC = Replace(tmpC, "@", "@")tmpC = Replace(tmpC, "?", "?")Print #2, "<item>" & tmpC & "</item>";rs2.MoveNextWendPrint #2, xmlArrEndNextrs2.CloseSet rs2 = NothingPrint #2, xmlSrcEndClose #2'以下判断题xmlFileName = ThisDocument.Path & "\J\arrays.xml" Open xmlFileName For Output As #2Print #2, xmlFirstPrint #2, xmlSrcBeginsql = "select 题目,答案from judgeQt"Set rs2 = New ADODB.Recordsetrs2.Open sql, connxmlArrBegin(0) = "judgetms"xmlArrBegin(1) = "judgedas"For i = 0 To 1rs2.MoveFirstPrint #2, arraySign(xmlArrBegin(i))While Not rs2.EOFtmpC = rs2(i)If i = 1 ThentmpC = IIf(UCase(tmpC) = "TRUE", "1", "2") End IftmpC = Replace(tmpC, "&", "&amp;")tmpC = Replace(tmpC, "<", "&lt;")tmpC = Replace(tmpC, "@", "@")tmpC = Replace(tmpC, "?", "?")Print #2, "<item>" & tmpC & "</item>";rs2.MoveNextWendPrint #2, xmlArrEndNextrs2.CloseSet rs2 = NothingPrint #2, xmlSrcEndClose #2'以下填空题xmlFileName = ThisDocument.Path & "\B\arrays.xml" Open xmlFileName For Output As #2Print #2, xmlFirstPrint #2, xmlSrcBeginsql = "select 题目,答案from blankQt"Set rs2 = New ADODB.Recordsetrs2.Open sql, connxmlArrBegin(0) = "blanktms"xmlArrBegin(1) = "blankdas"For i = 0 To 1rs2.MoveFirstPrint #2, arraySign(xmlArrBegin(i))While Not rs2.EOFtmpC = rs2(i)tmpC = Replace(tmpC, "&", "&amp;")tmpC = Replace(tmpC, "<", "&lt;")tmpC = Replace(tmpC, "@", "@")tmpC = Replace(tmpC, "?", "?")Print #2, "<item>" & tmpC & "</item>";rs2.MoveNextWendPrint #2, xmlArrEndNextrs2.CloseSet rs2 = NothingPrint #2, xmlSrcEndClose #2conn.CloseSet conn = NothingEnd SubPrivate Function arraySign(ByVal arrName As String) As StringarraySign = "<string-array name=" & Chr(34) & arrName & Chr(34) & ">"End FunctionPrivate Sub randArray(ByRef a() As Integer, ByVal xB As Integer, ByVal maxRnd As Integer) Dim tmp As Integer, flag As Boolean, i As Integer, j As Integer ', s As StringRandomize TimerFor i = 1 To xBflag = Truetmp = Int(Rnd * maxRnd + 1)For j = 1 To i - 1If a(j) = tmp Thenflag = FalseExit ForEnd IfNextIf flag = True Thena(i) = tmp's = s & a(i) & ", "Elsei = i - 1End IfNext'MsgBox sEnd SubPrivate Sub setTabPosition()Selection.WholeStorySelection.ParagraphFormat.TabStops.ClearAllActiveDocument.DefaultTabStop = CentimetersToPoints(0.74)Selection.ParagraphFormat.TabStops.Add Position:=CentimetersToPoints(3.52) _ , Alignment:=wdAlignTabLeft, Leader:=wdTabLeaderSpacesSelection.ParagraphFormat.TabStops.Add Position:=CentimetersToPoints(7.04) _ , Alignment:=wdAlignTabLeft, Leader:=wdTabLeaderSpacesSelection.ParagraphFormat.TabStops.Add Position:=CentimetersToPoints(10.56 _ ), Alignment:=wdAlignTabLeft, Leader:=wdTabLeaderSpacesSelection.HomeKey Unit:=wdStoryEnd Sub2.窗体对应代码Const GkSNums As Integer = 41Const GkMNums As Integer = 9Const GkJNums As Integer = 26Const GkBNums As Integer = 17Private Sub cmdClrDoc_Click()clearThisDoc TrueEnd SubPrivate Sub cmdOutToXML_Click()'生成对应的四个XML文件writeToEachXML TrueEnd SubPrivate Sub UserForm_Initialize()chkGk_ClickEnd SubPrivate Sub chkGk_Click()If chkGk.Value = True ThenMe.frmFreeSet.Enabled = False ElseMe.frmFreeSet.Enabled = True End IfEnd SubPrivate Sub chkS_Click()If chkS.Value = True ThentxtS.Enabled = TrueElsetxtS.Enabled = FalseEnd IfEnd SubPrivate Sub chkM_Click()If chkM.Value = True ThentxtM.Enabled = TrueElsetxtM.Enabled = FalseEnd IfEnd SubPrivate Sub chkJ_Click()If chkJ.Value = True ThentxtJ.Enabled = TrueElsetxtJ.Enabled = FalseEnd IfEnd SubPrivate Sub chkB_Click()If chkB.Value = True ThentxtB.Enabled = TrueElsetxtB.Enabled = FalseEnd IfEnd SubPrivate Sub cmdGetQuestions_Click()Dim mainTitle As String, subTitle As StringmainTitle = Trim(Me.txtBigTitle.Text)subTitle = Trim(Me.txtSubTitle.Text)Dim intST As Integer, intMT As Integer, intJT As Integer, intBT As IntegerIf chkGk.Value = True ThenintST = GkSNumsintMT = GkMNumsintJT = GkJNumsintBT = GkBNumsElseIf chkS.Value = True ThenintST = Val(Me.txtS.Text)If intST < 5 Or intST > 100 Then intST = 40ElseintST = 0End IfIf chkM.Value = True ThenintMT = Val(Me.txtM.Text)If intMT < 5 Or intMT > 100 Then intMT = 30ElseintMT = 0End IfIf chkJ.Value = True ThenintJT = Val(Me.txtJ.Text)If intJT < 5 Or intJT > 100 Then intJT = 40ElseintJT = 0End IfIf chkB.Value = True ThenintBT = Val(Me.txtB.Text)If intBT < 5 Or intBT > 100 Then intBT = 30ElseintBT = 0End IfEnd If'MsgBox mainTitle & vbCrLf & subTitle & vbCrLf & intST & vbCrLf & intMT & vbCrLf & intJT & vbCrLf & intBTreadTable mainTitle, subTitle, intST, intMT, intJT, intBTEnd SubPrivate Sub cmdEnd_Click()EndEnd Sub以上代码,由于时间关系,没有作一一注释,请谅。

题库智能组卷系统组卷功能说明

题库智能组卷系统组卷功能说明

“题库智能组卷系统“组卷功能说明教师用户可以利用系统提供的智能出卷、标准化出卷、搜索出卷、知识点题数出卷、知识点题分出卷共五种方式进展出卷。

为了使生成的试卷更适合用户的要求,系统还提供了手工调整试卷功能。

试卷生成后如果没有到达教师期望的目的,还可以在“试卷修改〞页面中,进展手工试卷调整,包括试题添加、删除、更换,试题顺序调整,题型顺序调整和试题题分修改等多种手工修改试卷方式。

1.智能出卷智能出卷的根本思路是在用户提出的较为模糊和较少要求的情况下,高度智能化地生成满意的试卷。

智能出卷分四个步骤,下面将具体介绍其操作。

第1步设置试卷参数鼠标点击“智能出卷〞按钮,进入到智能出卷,如图1-1所示。

【说明】:“试卷名称〞是试卷的标题,默认为“未命名智能试卷〞,可以重新命名,也可以在试卷生成后再修改名称,但是试卷名称不得为空。

“试卷总分〞默认为100分,可以修改,总分可以限制在10~300分。

“出卷份数〞表示系统支持同时生成多份试卷。

“难易比例〞,试题库中每道题都有难度系数指标,难度系数即试题的失分率,分为易(0-25)、中(30-55)、难(60-100)三个等级。

试卷默认的易中难比例为5:3:2,此比例可根据教师的教学要求自行调整。

图1-1第2步选择试题围如图1-2所示:首先选择教材,然后在“选择考试围〞栏中选择考试的围,“全部容〞中显示了本教材中所有试题围,用鼠标点击“+〞图标,可以翻开下面的章节的具体容,在用鼠标点击“+〞图标可以继续点开下面的容。

然后用鼠标点击要选择容前的图标,被选择的容前的选择框变为。

选择围确定后,点击下一步,进入下一步的设置。

图1-2第3步确定题型题分如图1-3,页面中显示了每个题型中拥有的试题数量。

在“出卷总分设置〞框中添加各题型分数,使“目前输入的试题总分〞与“试卷要求总分〞一样后,点击下方的“完成〞按钮,开场出卷。

【注】:不同学科看到的题型列表和题型对应的总题数会不同;即使同一学科,选择不同的选题围和试卷参数,也可能会有不同的题型和总试题数。

基于试题库自动组卷系统

基于试题库自动组卷系统

基于试题库的自动组卷系统摘要:本文首先分析了自动组卷系统在具体的教学活动过程中的实际需求,然后以高中英语的教学为背景,设计与实现了一个实际的自动组卷系统,对其中的数据库结构设计以及各个主要模块的实现进行了详细的介绍。

本系统可以从试题库中自动的查找和组织出一些不同类型、不同难度、不同章节范围内的试题来组成一份合理的试卷。

它采用的是利用试卷自动生成算法记录试题的一组特征值,根据用户提供的试卷题目类型、章节分布、难易程度等条件,借助于系统中的一系列数据文件,使具体课程的相关数据动态地抽象成逻辑数据,用以解决通用问题,线性的规划出一份约束满足的、合理的试卷。

目录第一章引言 (3)第二章系统分析 (3)2.1 试题库分析 (3)2.2 组卷分析 (4)2.3 系统简介 (5)第三章数据库设计 (6)3.1 系统数据库 (6)3.2 临时数据库 (7)第四章系统总体结构设计 (8)第五章模块设计及实现 (9)5.1 用户登录模块 (9)5.2 系统维护模块 (10)5.2.1新建数据库 (10)5.2.2修改密码 (11)5.2.3添加用户 (11)5.3题库管理模块 (11)5.4自动组卷模块 (13)5.4.1功能 (14)5.4.2设计思路 (14)5.4.3 组卷策略分析 (14)5.4.4 代码实现 (16)5.4.5 试卷编辑 (22)第一章引言考试是教师检查学生学习情况的必要手段,但出卷却是一种繁重的智力和体力劳动,传统的标准化试卷命题,需要由教学专家组成一个命题班子,根据许多优秀教师多年的教学经验,从贯彻教学大纲要求,到试卷意图的组织,经过反复的推敲,才能完成一份标准化的试卷。

这样的命题方式不仅工作任务繁重而且试卷的标准化程度、难易程度、题量大小等各方面难以控制,难以形成有效的试题库,给试题和试卷的管理带来很多问题和困难。

鉴于这种情况,利用计算机进行试卷的自动生成并逐步积累形成有效的试题库,对试题和试卷的管理将变得高效而便捷,对提高工作效率,使试卷管理逐步走向正规化自动化将起到十分重要的作用。

实用小技能用Word和Excel自制一个题库自判断答题系统

实用小技能用Word和Excel自制一个题库自判断答题系统

实用小技能用Word和Excel自制一个题库自判断答题系统如果你需要做题库,并且喜欢电子答题的方法,这篇文章或许会对你有所帮助。

反正李老师班级的平均成绩高出其他班级的14分,这就是它的好处,希望这篇文章对我今后的学生有所帮助吧!注意:这篇文章涉及到Word特殊字符、通配符、Excel设置等常见问题。

如果文章存在不足或错误的地方,还请海涵~运行结果如下图所示,正确答案第一列,模拟做题的时候学生将它藏着,然后在E列进行答题,D列是在线判断系统,反复训练从而提升学生的考试分数。

哈哈~哎,确实佩服L老师啊。

使用Word调整格式假设现在存在10道《数据结构》考试题目。

1.栈和队列的共同特点是( A )。

A.只允许在端点处插入和删除元素B.都是先进后6C.都是先进先出D.没有共同点2.用链接方式存储的队列,在进行插入运算时( D ).A. 仅修改头指针B. 头、尾指针都要修改C. 仅修改尾指针D.头、尾指针可能都要修改3.以下数据结构中哪一个是非线性结构?( D )A. 队列 B. 栈 C. 线性表 D. 二叉树4.设有一个二维数组A[m][n],假设A[0][0]存放位置在644(10),A[2][2]存放位置在676(10),每个元素占一个空间,问A[3][3](10)存放在什么位置?脚注(10)表示用10进制表示。

( C )A.688 B.678 C.692 D.6965.树最适合用来表示( C )。

A.有序数据元素B.无序数据元素C.元素之间具有分支层次关系的数据 D.元素之间无联系的数据6.二叉树的第k层的结点数最多为( D ).A.2k-1 B.2K+1 C.2K-1D. 2k-17.若有18个元素的有序表存放在一维数组A[19]中,第一个元素放A[1]中,现进行二分查找,则查找A[3]的比较序列的下标依次为( D )A. 1,2,3 B. 9,5,2,3C. 9,5,3 D. 9,4,2,38.对n个记录的文件进行快速排序,所需要的辅助存储空间大致为( C )A. O(1) B. O(n) C. O(1og2n) D. O(n2)9.对于线性表(7,34,55,25,64,46,20,10)进行散列存储时,若选用H(K)=K %9作为散列函数,则散列地址为1的元素有( D )个,A.1 B.2 C.3 D.410.设有6个结点的无向图,该图至少应有( A )条边才能确保是一个连通图。

在Word中建设题库和生成试卷方式的研究

在Word中建设题库和生成试卷方式的研究
三 、安 装 与 调 用 只要将相关程序以宏的形式导入到 Word 环 境 中 ( 在 Word2000、Word2002、 Word2003 中 均 可 使 用) , 就 可 以 宏 的 方 式 调用该程序, 完成试卷及答案的自动生成 工作。 总之, 该成果可使每一位教师都能参 与到试题库的建设与维护中来, 对试题的 类型几乎没有限制, 特别适合以测试技能 为主的职业院校试题库的建设与管理。 ( 作者单位:黑龙江农垦林业职业技术 学 院)
3. 所 需 表 格 和 图 形 的 处 理 。 由 于 抽 取 试题是以对象为单位, 因此, 试题或答案中 所 需 表 格 , 要 使 用 Excel 表 格 ( 可 直 接 在 Word 中插入 Excel 表格) , 如 果 所 需 图 形 是 由多个元素组成, 则必须将各元素组合成 一 个 对 象( 此 项 工 作 可 以 在 Word 中 完 成 , 也可以在其他图形编辑软件中完成) 。
关键词: 建设题库; 生成试卷; 宏
黑龙江 徐俊延 王小树 王梦飞 李旭颖 关晓伟
随着计算机技术在教育领域的广泛应 用, 试题库建设和试卷生成方式的研究一 直受到人们的重视, 国内外已开发的试题 库管理软件, 一般只适合于标准化考试和 客观性试题, 题库需要专人管理, 其建设与 更新的工作难度较大。针对职业教育教学 改革的实际需要, 为了方便对技能考核所 需 各 种 题 型 的 编 制 和 管 理 , 充 分 利 用 Word 强大的文字、表格、图形处 理 、排 版 、打 印 和 Word 宏 中 Visual Basic 的 二 次 开 发 功 能 , 让 教 师 熟 悉 在 Word 中 编 写 试 卷 的 基 本 操 作 能 力 和 多 年 来 已 经 积 累 的 Word 试 题 , 让每一位教师都参与到试题库建设中来, 笔者于 2003 年初申报了在 Word 环境中进 行试题库建设和试卷生成方式的研究课 题。现已建立起了全院所有学科的理论和 技能测试题库, 实现了题库建设的群众化, 试卷编制的集中化, 由教务处集中利用题 库生成试卷, 在两周的时间内, 一个人操 作, 就完成了近二百门课程的出题任务, 大 大提高了编制试卷的效 率 、标 准 和 保 密 性 。 现将该成果的主要技术项目介绍如下:
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

如何利用现成的WORD题库
随机挑选题目组卷
第一部分关于选择题的处理
例如下面十道选择题,如何让每题四个选项乱序,十道题也乱序呢?
1.墨分五彩指焦、浓、重、淡、()。

A.清
B.浊
C.浅
D.灰
2.笔墨纸砚是〔〕不可缺少的工具。

A.中国画
B.油画
C.水彩画
D.水粉画
3.中国画按技法可分为工笔画和〔〕。

A.静物画
B.风景画
C.人物画
D.写意画
4.中国画分为人物、山水、( )三科,这不是简单的题材分工,而是体现一种传统的人文思维。

A.花鸟
B.鱼虫
C.动物
D.静物
5.赵佶的书法被称为( ),他的代表作是《芙蓉锦鸡图》。

A.赵体
B.瘦金体
C.宋体
D.欧体
6.黄筌的代表作品是( )
A.写生珍禽图
B.泼墨仙人图
C.芙蓉锦鸡图
D.双喜图
7.被称为“黄家富贵”的画家是( )。

A.黄胄
B.黄筌
C.徐熙
D.黄庭坚
8.被称为“徐熙野逸”的画家是( )
A.徐熙
B.黄筌
C.文同
D.朱耷
9.中国花鸟画《双喜图》是〔〕的代表作品。

A.赵佶
B.崔白
C.文同
D.朱耷
10.《墨竹图》的作者是( )代的( )。

A.宋崔白
B.清朱耷
C.宋文同
D.当代齐白石
一、将每一道选择题整理成题干一段,四个选项分别为四段的形式,如下:
1.墨分五彩指焦、浓、重、淡、()。

A.清
B.浊
C.浅
D.灰
2.笔墨纸砚是〔〕不可缺少的工具。

A.中国画
B.油画
C.水彩画
D.水粉画
3.中国画按技法可分为工笔画和〔〕。

A.静物画
B.风景画
C.人物画
D.写意画
4.中国画分为人物、山水、( )三科,这不是简单的题材分工,而是体现一种传统的人文思维。

A.花鸟
B.鱼虫
C.动物
D.静物
5.赵佶的书法被称为( ),他的代表作是《芙蓉锦鸡图》。

A.赵体
B.瘦金体
C.宋体
D.欧体
6.黄筌的代表作品是( )
A.写生珍禽图
B.泼墨仙人图
C.芙蓉锦鸡图
D.双喜图
7.被称为“黄家富贵”的画家是( )。

A.黄胄
B.黄筌
C.徐熙
D.黄庭坚
8.被称为“徐熙野逸”的画家是( )
A.徐熙
B.黄筌
C.文同
D.朱耷
9.中国花鸟画《双喜图》是〔〕的代表作品。

A.赵佶
B.崔白
C.文同
D.朱耷
10.《墨竹图》的作者是( )代的( )。

A.宋崔白
B.清朱耷
C.宋文同
D.当代齐白石
整理过程中可充分利用WORD的替换功能,查找 B 替换为 ^pB,查找 C 替换为 ^pC,查找 D 替换为 ^pD,即可将四个选项分为四段。

如果题干中有ABCD等大写字母或如英语试卷中出现ABCD大写字母的,可将四个大写字母处理为“&A“等形式后再用查找替换功能处理。

二、选中所有选择题,单击插入表格文本转换成表格列数为5,转换如下
三、EXCEL新建一电子簿,复制第二步中表格内所有内容,粘贴到电子簿的sheet1中
四、在这个电子表格中按ALT + F11 组合键调出VBA窗口,插入模块,在模块1代码窗中粘贴如下代码
Sub test()
Dim r%, i%
Dim arr, brr
Randomize
With Worksheets("sheet1")
r = .Cells(.Rows.Count, 1).End(xlUp).Row
arr = .Range("b1:g" & r)
For i = 1 To UBound(arr)
For k = 5 To 2 Step -1
If Len(arr(i, k)) <> 0 Then
Exit For
End If
Next
For j = 1 To k - 1
n = j + Int(Rnd() * (k - j)) + 1
temp = arr(i, j)
arr(i, j) = arr(i, n)
arr(i, n) = temp
Next
dn = ""
For j = 1 To k
xm = Left(arr(i, j), 1)
If InStr(arr(i, 6), xm) <> 0 Then
dn = dn & Chr(j + 64)
End If
arr(i, j) = Chr(j + 64) & Mid(arr(i, j), 2)
Next
arr(i, 6) = dn
Next
.Range("j1").Resize(UBound(arr), UBound(arr, 2)) = arr
End With
End Sub
五、单击运行,运行代码后,关闭VBA窗口,回到电子表格界面,复制sheet1为sheet2,在P1单元格输入公式=100*RAND(),向下填充P列到适当行为止,全选,单击排序按P 列升序或降序排列都可以,选中BCDE四列隐藏,选中A JKLM五列内容,复制,打开WORD 右击选粘贴(粘贴时选择只保留文本)到WORD中,如下
10.《墨竹图》的作者是( )代的( )。

A.宋文同 B.当代齐白石
C.清朱耷
D.宋崔白
9.中国花鸟画《双喜图》是〔〕的代表作品。

A.崔白 B.朱耷 C.赵佶 D.文同
8.被称为“徐熙野逸”的画家是( ) A.朱耷 B.徐熙 C.黄筌 D.文同2.笔墨纸砚是〔〕不可缺少的工具。

A.油画 B.水彩画 C.水粉画 D.中国画
5.赵佶的书法被称为( ),他的代表作是《芙蓉锦鸡图》。

A.瘦金体
B.欧体
C.赵体
D.宋体
4.中国画分为人物、山水、( )三科,这不是简单的题材分工,而是体现一种传统的人文思维。

A.静物 B.花鸟 C.鱼虫 D.动物
7.被称为“黄家富贵”的画家是( )。

A.黄筌 B.徐熙 C.黄庭坚 D.黄胄
6.黄筌的代表作品是( ) A.双喜图B.写生珍禽图 C.泼墨仙人图
D.芙蓉锦鸡图
1.墨分五彩指焦、浓、重、淡、()。

A.灰B.浅 C.清 D.浊
3.中国画按技法可分为工笔画和〔〕。

A.写意画B.人物画 C.静物画 D.风景画
六、利用WORD的替换功能,查找 A 替换为 ^pA,将题干与四个选项分成两段,如下
10.《墨竹图》的作者是( )代的( )。

A.宋文同
B.当代齐白石
C.清朱耷
D.宋崔白
9.中国花鸟画《双喜图》是〔〕的代表作品。

A.崔白
B.朱耷
C.赵佶
D.文同
8.被称为“徐熙野逸”的画家是( )
A.朱耷
B.徐熙
C.黄筌
D.文同
2.笔墨纸砚是〔〕不可缺少的工具。

A.油画
B.水彩画
C.水粉画
D.中国画
5.赵佶的书法被称为( ),他的代表作是《芙蓉锦鸡图》。

A.瘦金体
B.欧体
C.赵体
D.宋体
4.中国画分为人物、山水、( )三科,这不是简单的题材分工,而是体现一种传统的人文思维。

A.静物
B.花鸟
C.鱼虫
D.动物
7.被称为“黄家富贵”的画家是( )。

A.黄筌
B.徐熙
C.黄庭坚
D.黄胄
6.黄筌的代表作品是( )
A.双喜图
B.写生珍禽图
C.泼墨仙人图
D.芙蓉锦鸡图
1.墨分五彩指焦、浓、重、淡、()。

A.灰
B.浅
C.清
D.浊
3.中国画按技法可分为工笔画和〔〕。

A.写意画
B.人物画
C.静物画
D.风景画
七、将题号重新整理即可。

第二部分关于填空题或判断题的处理
一、将每一道填空题或判断题整理成每题一段
二、全选,复制到电子表格中,在B1单元格输入公式=100*RAND(),向下填充B列到适当行为止,全选整个电子表格,单击排序按BP列升序或降序排列都可以,选中A列内容,复制粘贴(粘贴时选择只保留文本)到一新的空白WORD中。

三、将题号重新整理即可。

从上面第一部分与第二部分随便选连续的若干题即可组出一份试卷。

该方法对不含图形的题库处理很方便。

相关文档
最新文档