随机抽题制作步骤
- 格式:doc
- 大小:221.00 KB
- 文档页数:5
PPT轻松实现随机抽题设计抽题界面打开PPT2010,将演示文稿保存成启用宏的PPT演示文稿格式(即.pptm格式,包含宏代码的演示文稿,必须保存成这种格式),在第一张幻灯片中设计抽题界面,先插入三个文本框,写上必要的文字,再通过“开发工具”选项卡,插入三个命令按钮控件,在这些控件上右击,选择“属性”命令,打开它们的“属性”对话框,在“名称”后将命令按钮名称分别修改为:开始、停止和打开抽取的题目,再在Caption后填写按钮上显示的名称(可随意大写,我这儿设置的与按钮名称相同),并对字体、字号、背景颜色、样式等进行设置。
再插入三个文本框控件,同样在“属性”对话框中,修改它们的名称为:抽取框、结果框和已抽题目。
把“抽取框”放到“开始”和“停止”命令按钮控件之间,把“结果框”放到“您抽取的是号题”文本中,将“已抽题目”拖至适合大小,放置到下面(图1)。
接着新建一张幻灯片,设计好被抽题目放置界面,并在其上设计一个返回到抽题界面幻灯片的链接。
将该幻灯片复制多份,将相应题目录入相应各幻灯片上,第二张幻灯片放第一道题目,第三张幻灯片放第二道题目,依次类推。
编写宏代码接下来,按ALT+F11组合键,打开VBA宏编辑窗口,双击左侧的“Slide1”,将以下代码复制到右窗格中并保存。
Private Sub 开始_Click()停止.Enabled = True '停止按钮当前有效Dim a As IntegerRandomizeDoa = Fix(Rnd * 10 + 1) '使用随机函数抽取框.Text = a结果框.Text = ""DoEventsLoopEnd SubPrivate Sub 停止_Click()结果框.Text = 抽取框.Text已抽题目= 已抽题目+ 抽取框+ " # " '题目标记用#分隔停止.Enabled = FalseEndEnd SubPrivate Sub 打开抽取的题目_Click()ActivePresentation.SlideShowWindow_.View.GotoSlide Val(抽取框.Text + 1)End Sub随机抽取题目并打开到抽取题目时,放映幻灯片,点击第一张的“开始”按钮,此时其后的文本框中就随机快速滚动显示1到10这十个数字,点击“停止”按钮后,数字停止滚动,并显示出抽取的题号,同时在上方给出“您抽取的是X号题”提示,在下方“已抽题目”中显示出所有抽过的题目标号。
随机抽题算法0 引言随机抽题是在线考试系统中的核心部分,目前大部分的在线考试系统或无纸化考试系统大都采用了随机函数实现随机抽题,但大部分在线考试系统在随机抽题时存在抽题速度慢、试题覆盖面不稳定、重点不突出、灵活性差等问题。
本文讨论了优化随机抽题的方法,给出了具体的抽题公式和查询语句。
1 优化使用随机函数方法研究原始在线考试系统中,使用随机函数从题库中抽取试题,抽题公式为Int(Rnd*M)公式1。
在抽取第一题时,直接将题号存放在指定的空数组中,表示抽取成功,以后每抽取一题,将题号和数组中已存在元素进行比较,若存在则抽取失败,若不存在则抽取成功,并将题号依次存储在该数组中,直到抽取结束。
这种抽题方法的缺陷是时间浪费。
这种时间浪费在单机的时候并不明显,但在B/S模式或C/S模式下,机器越多速度越慢。
为了解决重复抽题,避免试题抽取过慢,可采用分段法、分类法和分类分段结合法。
1.1分段法分段法是解决重复抽题最简单的方法,其原理是将题库中的试题M分成N段,然后从每段中抽取一题,抽取公式为Int(Rnd*(M\N))+i*(M\N)(0≤i≤N-1)公式2。
分段法的优点显而易见,可以完全杜绝试题重复抽取,但对题库中试题的数量有要求,即M>2N,且题库越大、试题数量越多,抽取效果就越好。
在公式2中将M等分成N段,M并不一定能被N整除,也就是说采用公式2试题库最后M MOD N条试题永远不会被抽取,为了解决这个问题,可将公式2进行改进,设L=M MOD N,则抽取公式为Int(Rnd*(M\N+1))+i*(M\N+1)(0≤i≤L-1)公式3和Int(Rnd*(M\N))+i*(M\N)+L(L≤i≤N-1)公式4。
分段法避免了重复抽取,但无法控制试题的覆盖面及难易程度。
1.21.2 分类法分类法是在试题库的结构上添加相应分类字段,字段可以是章节、内容等,将所有试题按章节或内容分类,从每一类中抽取一题,不仅可以解决试题的重复抽取还可以控制试题的覆盖面。
在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, "&", "&")tmpC = Replace(tmpC, "<", "<")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, "&", "&")tmpC = Replace(tmpC, "<", "<")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, "&", "&")tmpC = Replace(tmpC, "<", "<")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, "&", "&")tmpC = Replace(tmpC, "<", "<")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以上代码,由于时间关系,没有作一一注释,请谅。
考试试题随机抽题算法考试试题随机抽题算法在现代教育体系中,考试是一种常见的评估学生学习成果的方式。
而试题的难易程度、内容覆盖范围以及试题数量的合理安排,直接影响到考试的公平性和准确性。
为了确保考试的公正性,许多学校和机构采用了试题随机抽题算法。
试题随机抽题算法的目的是通过随机选择试题,使得每个考生所面对的试题都是从一个试题库中抽取的,以此确保考生之间的公平性。
这种算法的实现方式有多种,下面将介绍其中一种较为常见的试题随机抽题算法。
首先,需要建立一个试题库,其中包含了所有可能出现的试题。
试题库中的试题可以按照不同的知识点、难易程度、类型等进行分类和标记。
试题库的建立需要考虑到学科的特点和教学目标,以便能够全面评估学生的知识水平和能力。
在考试开始前,需要确定考试的试题数量和考试的时间限制。
试题数量的确定需要考虑到考试的目的和学科的特点。
时间限制的设定需要根据试题数量和难易程度来合理分配,以确保考生有足够的时间完成考试。
接下来,根据考试的要求和试题库中的试题分类,确定每个分类下要抽取的试题数量。
这个过程可以根据试题分类的重要性和难易程度来进行权重设置,以确保考试的全面性和准确性。
然后,利用随机数生成器来随机选择试题。
随机数生成器可以根据设定的范围和规则来生成随机数。
在试题抽取过程中,可以根据每个分类下要抽取的试题数量来设定随机数生成的范围,以确保每个分类下的试题都有机会被抽取到。
最后,将抽取到的试题按照一定的顺序组成试卷。
试卷的组成可以按照试题分类、难易程度或者其他规则来进行。
在组卷过程中,需要注意试题的顺序和分布,以确保试卷的整体平衡和合理性。
试题随机抽题算法的实现需要考虑到多个因素,如试题库的建立、试题数量的确定、试题分类的设置、随机数生成的规则以及试卷的组成等。
这些因素的合理安排和权衡可以确保考试的公平性和准确性。
试题随机抽题算法在现代教育中发挥着重要的作用。
它不仅能够提高考试的公平性和准确性,还能够激发学生的学习兴趣和动力。
PPT轻松实现随机抽题设计抽题界面打开PPT2010,将演示文稿保存成启用宏的PPT演示文稿格式(即.pptm格式,包含宏代码的演示文稿,必须保存成这种格式),在第一张幻灯片中设计抽题界面,先插入三个文本框,写上必要的文字,再通过“开发工具”选项卡,插入三个命令按钮控件,在这些控件上右击,选择“属性”命令,打开它们的“属性”对话框,在“名称”后将命令按钮名称分别修改为:开始、停止和打开抽取的题目,再在Caption 后填写按钮上显示的名称(可随意大写,我这儿设置的与按钮名称相同),并对字体、字号、背景颜色、样式等进行设置。
再插入三个文本框控件,同样在“属性”对话框中,修改它们的名称为:抽取框、结果框和已抽题目。
把“抽取框”放到“开始”和“停止”命令按钮控件之间,把“结果框”放到“您抽取的是号题”文本中,将“已抽题目”拖至适合大小,放置到下面(图1)。
接着新建一张幻灯片,设计好被抽题目放置界面,并在其上设计一个返回到抽题界面幻灯片的链接。
将该幻灯片复制多份,将相应题目录入相应各幻灯片上,第二张幻灯片放第一道题目,第三张幻灯片放第二道题目,依次类推。
编写宏代码接下来,按ALT+F11组合键,打开VBA宏编辑窗口,双击左侧的“Slide1”,将以下代码复制到右窗格中并保存。
Private Sub 开始_Click()停止.Enabled = True '停止按钮当前有效Dim a As IntegerRandomizeDoa = Fix(Rnd * 10 + 1) '使用随机函数抽取框.Text = a结果框.Text = ""DoEventsLoopEnd SubPrivate Sub 停止_Click()结果框.Text = 抽取框.Text已抽题目 = 已抽题目 + 抽取框 + " # " '题目标记用#分隔停止.Enabled = FalseEndEnd SubPrivate Sub 打开抽取的题目_Click()ActivePresentation.SlideShowWindow_.View.GotoSlide Val(抽取框.Text + 1)End Sub随机抽取题目并打开到抽取题目时,放映幻灯片,点击第一张的“开始”按钮,此时其后的文本框中就随机快速滚动显示1到10这十个数字,点击“停止”按钮后,数字停止滚动,并显示出抽取的题号,同时在上方给出“您抽取的是X号题”提示,在下方“已抽题目”中显示出所有抽过的题目标号。
ppt随机抽题模板PPT随机抽题模板。
在做PPT演示时,我们经常需要进行随机抽题,以测试观众对知识点的掌握程度。
而设计一个好用的PPT随机抽题模板,不仅可以提高演示效果,还可以让观众更加积极参与。
接下来,我将为大家介绍一种简单实用的PPT随机抽题模板,希望能够对大家有所帮助。
首先,我们需要在PPT中创建一个题目页面,将所有题目按照顺序排列好。
然后,在每个题目下方插入一个文本框,用于显示随机抽取的题目。
接着,在PPT的“插入”选项卡中选择“形状”,插入一个矩形框,作为抽题按钮。
在矩形框中输入“随机抽题”,并设置好字体和颜色。
接下来,我们需要为抽题按钮添加宏功能。
首先,在PPT的“开发工具”选项卡中点击“宏”,然后新建一个宏并编写代码。
代码的功能是随机抽取题目,并将题目显示在之前插入的文本框中。
这样,当观众点击抽题按钮时,就会随机显示一个题目,增加了互动性和趣味性。
除了单纯的文字题目,我们还可以在PPT中插入图片题目或者视频题目。
同样的,我们可以为这些题目添加抽题功能,让观众在答题时更加多姿多彩。
另外,我们还可以在PPT中加入计分功能。
在每个题目下方插入一个文本框,用于记录观众的得分。
当观众回答正确时,可以点击一个“加分”按钮,自动给该观众加分;回答错误时,点击“减分”按钮,自动给该观众减分。
这样不仅可以增加观众的参与度,还可以使演示更加生动有趣。
最后,为了使PPT随机抽题模板更加美观,我们可以在每个题目页面中加入一些相关的图片或者动画效果,增加视觉冲击力。
这样,不仅可以吸引观众的注意力,还可以让PPT更加生动活泼。
总的来说,设计一个好用的PPT随机抽题模板并不难,关键是要考虑观众的体验和参与度。
通过合理的设计和一些简单的技巧,我们可以让PPT更加生动有趣,让观众在演示中获得更好的体验。
希望以上介绍对大家有所启发,也希望大家可以在自己的PPT演示中尝试使用这些方法,提升演示效果,让观众更加投入和享受。
ppt随机抽题模板在现代社会中,各种文化活动和教学活动中都需要用到PPT,其它职业工作和社交场合也多使用,成为一种无处不在的演示工具。
然而,很多人会遇到不知道该选择什么样的题目来制作PPT,因此,设计一款ppt随机抽题模板就变得尤为重要了。
这样不仅减少了人们在选择题目方面的时间和精力,而且也能使PPT更加多样化和生动有趣。
一、基本组成部分在制作ppt随机抽题模板的时候,需要注意以下几个基本组成部分:1.题目内容:整个模板的核心部分,包括题目名称、说明、内容等。
建议采用简明扼要的方式,简短但明确。
2.随机抽取的方式:通常采用随机数的方式,也可以利用Python等编程语言的random函数,让程序自动选择题目。
3.题目数量:建议不要过多,最好在20道左右,否则可能会降低使用体验和效果。
4.显示方式:建议采用多种方式,比如可以实现动态的文本滚动、图片切换和音频播放等。
二、模板设计在PPT随机抽题模板设计中,还需要考虑以下几个方面:1. 版式设计:建议选择简约大方的设计风格,精简页面元素、数字、颜色等,尽可能凸显主题,增强观众的视觉效果和舒适感。
2. 字体和字号:字体尽量选择经典的,字号以方便阅读为主。
3. 图片和音效:控制适当的图片尺寸,使得PPT的页面纹理层次丰富,使用声音和音效能够增强PPT的动感和悬疑感。
三、使用方法在使用PPT随机抽题模板时,可以通过以下步骤进行:1.下载模板,将其拷贝至PPT对应的文件夹。
2.打开PPT,选择焦点视图(有T图案的那个),点击“幻灯片放映”,即可开始使用。
3.按钮控制:点击开始,系统会随机出一道题目,点击按钮,再次随机出下一道题目。
4.翻页控制:可以根据喜好和需要,随机翻页,进入答题模式、倒计时模式、得分模式等。
四、使用效果采用PPT随机抽题模板,可以显著提高PPT的趣味性、互动性和学习效果。
这个模板可以广泛应用于学术演讲、新闻发布会、教学课件、社交活动和多种其他场合中。
§2.1随机抽样1.简单随机抽样(1)抽取方式:逐个不放回抽取;(2)每个个体被抽到的概率相等;(3)常用方法:抽签法和随机数法.2.系统抽样的步骤假设要从容量为N的总体中抽取容量为n的样本.(1)先将总体的N个个体编号;(2)确定分段间隔k,对编号进行分段.当错误!(n是样本容量)是整数时,取k=错误!;(3)在第1段用简单随机抽样确定第一个个体编号l(l≤k);(4)按照一定的规则抽取样本.通常是将l加上间隔k得到第2个个体编号l+k,再加k得到第3个个体编号l+2k,依次进行下去,直到获取整个样本.3.分层抽样(1)定义:在抽样时,将总体分成互不交叉的层,然后按照一定的比例,从各层独立地抽取一定数量的个体,将各层取出的个体合在一起作为样本,这种抽样方法是一种分层抽样.(2)分层抽样的应用范围:当总体是由差异明显的几个部分组成时,往往选用分层抽样.考点一简单随机抽样例1(1)下列抽取样本的方式是简单随机抽样的有()①从无限多个个体中抽取50个个体作为样本;②箱子里有100支铅笔,从中选取10支进行检验.在抽样操作时,从中任意拿出一支检测后放回箱子;③从50个个体中一次性抽取5个个体作为样本.A.0个ﻩB.1个C.2个ﻩD.3个(2).某公司在甲、乙、丙、丁四个地区分别有150,120,180,150个销售点.公司为了调查产品销售情况,需从这600个销售点中抽取一个容量为100的样本,记这项调查为①;在丙地区有20个大型销售点,要从中抽取7个调查其销售收入和售后服务等情况,记这项调查为②,则完成①,②这两项调查宜采用的抽样方法依次是( )A.分层抽样法,系统抽样法B.分层抽样法,简单随机抽样法C.系统抽样法,分层抽样法D.简单随机抽样法,分层抽样法(3)总体由编号为01,02,…,19,20的20个个体组成.利用下面的随机数表选取5个个体,选取方法是从随机数表第1行的第5列和第6列数字开始由左到右依次选取两个数字,则选出来的第5个个体的编号为( ) ArrayA.08 B.07C.02 D.01考点二系统抽样例2(1) 用系统抽样法(按等距离的规则)要从160名学生中抽取容量为20的样本,将160名学生从1~160编号.按编号顺序平均分成20组(1~8号,9~16号,…,153~160号),若第16组应抽出的号码为125,则第一组中按此抽签方法确定的号码是()A.7B.5C.4D.3(2)某单位有840名职工,现采用系统抽样方法抽取42人做问卷调查,将840人按1,2,…,840随机编号,则抽取的42人中,编号落入区间[481,720]的人数为( )A.11ﻩB.12C.13 ﻩD.14(3) 从2 007名学生中选取50名学生参加全国数学联赛,若采用下面的方法选取:先用简单随机抽样从2007人中剔除7人,剩下的2000人再按系统抽样的方法抽取,则每人入选的概率()A.不全相等ﻩB.均不相等C.都相等,且为\f(50,2 007)D.都相等,且为错误!(4)为了检查某超市货架上的奶粉是否含有三聚氰胺,要从编号依次为1到50的袋装奶粉中抽取5袋进行检验,用每部分选取的号码间隔一样的系统抽样方法确定所选取的5袋奶粉的编号可能是() A.5,10,15,20,25 B.2,4,8,16,32C.1,2,3,4,5D.7,17,27,37,47考点三分层抽样例3(1)某学校有男、女学生各500名.为了解男、女学生在学习兴趣与业余爱好方面是否存在显著差异,拟从全体学生中抽取100名学生进行调查,则宜采用的抽样方法是()A.抽签法ﻩB.随机数法C.系统抽样法ﻩD.分层抽样法(2)某商场有四类食品,其中粮食类、植物油类、动物性食品类及果蔬类分别有40种、10种、30种、20种,现从中抽取一个容量为20的样本进行食品安全检测.若采用分层抽样的方法抽取样本,则抽取的植物油类与果蔬类食品种数之和是( )A.4 B.5C.6ﻩD.7(3)某报社做了一次关于“什么是新时代的雷锋精神”的调查,在A,B,C,D四个单位回收的问卷数依次成等差数列,且共回收1 000份,因报道需要,再从回收的问卷中按单位分层抽取容量为150的样本,若在B单位抽取30份,则在D单位抽取的问卷是________份.(4) 某市A,B,C,D四所中学报名参加某高校今年自主招生的学生人数如下表所示:中随机抽取50名参加问卷调查,则A,B,C,D四所中学,抽取学生数分别是多少名()A.10,20,15,5B.15,20,10,5C.10,15,20,5 D.3,4,2,1【巩固训练】1.(1)某学校为了了解2013年高考数学的考试成绩,在高考后对1 200名学生进行抽样调查,其中文科400名考生,理科600名考生,艺术和体育类考生共200名,从中抽取120名考生作为样本.(2)从10名家长中抽取3名参加座谈会.Ⅰ.简单随机抽样法Ⅱ.系统抽样法Ⅲ.分层抽样法.问题与方法配对正确的是( )A.(1)Ⅲ,(1)ⅠﻩB.(1)Ⅰ,(2)ⅡC.(1)Ⅱ,(2)ⅢD.(1)Ⅲ,(2)Ⅱ2.为了解某地区的中小学生的视力情况,拟从该地区的中小学生中抽取部分学生进行调查,事先已了解到该地区小学、初中、高中三个学段学生的视力情况有较大差异,而男女生视力情况差异不大,在下面的抽样方法中,最合理的抽样方法是( )A.简单随机抽样ﻩB.按性别分层抽样C.按学段分层抽样 D.系统抽样3.某地区高中分三类,A类学校共有学生2 000人,B类学校共有学生3 000人,C类学校共有学生4 000人,若采取分层抽样的方法抽取900人,则A类学校中的学生甲被抽到的概率为()A.\f(1,10) B.错误! C.错误! D.错误!4.要从已编号(1~60)的60枚最新研制的某型导弹中随机抽取6枚来进行发射试验,用每部分选取的号码间隔一样的系统抽样方法确定所选的6枚导弹的编号可能是()A.5,10,15,20,25,30B.3,13,23,33,43,53C.1,2,3,4,5,6 D.2,4,8,16,32,485.一个班级有5个小组,每一个小组有10名学生,随机编号为1~10号,为了了解他们的学习情况,要求抽取每组的2号学生留下来进行问卷调查,这里运用的方法是( )A.分层抽样法ﻩB.抽签法C.随机数法 D.系统抽样法6.某企业共有职工150人,其中高级职称15人,中级职称45人,初级职称90人.现采用分层抽样抽取容量为30的样本,则抽取的各职称的人数分别为()A.5,10,15 B.3,9,18C.3,10,17 D.5,9,167.某中学采用系统抽样方法,从该校高一年级全体800名学生中抽50名学生做牙齿健康检查.现将800名学生从1到800进行编号.已知从33~48这16个数中取的数是39,则在第1小组1~16中随机抽到的数是A.5 B.7C.11 D.138.某校共有学生2 000名,各年级男、女生人数如下表所示:( )A .24B .18 C.16 ﻩD .129.某班级有50名学生,其中有30名男生和20名女生.随机询问了该班五名男生和五名女生在某次数学测验中的成绩,五名男生的成绩分别为86,94,88,92,90,五名女生的成绩分别为88,93,93,88,93.下列说法一定正确的是( )A .这种抽样方法是一种分层抽样 B.这种抽样方法是一种系统抽样C.这五名男生成绩的方差大于这五名女生成绩的方差 D.该班男生成绩的平均数小于该班女生成绩的平均数10.2013年“神舟”十号载人飞船顺利发射升空,某校开展了“观‘神十’飞天燃爱国激情”系列主题教育活动.该学校高一年级有学生300人,高二年级有学生300人,高三年级有学生400人,通过分层抽样从中抽取40人调查“神舟”十号载人飞船的发射对自己学习态度的影响,则高三年级抽取的人数比高一年级抽取的人数多( )A.5人 B.4人 C.3人D.2人11.将参加夏令营的600名学生编号为:001,002,…,600.采用系统抽样方法抽取一个容量为50的样本,且随机抽得的号码为003,这600名学生分住在三个营区.从001到300在第Ⅰ营区,从301到495在第Ⅱ营区,从496到600在第Ⅲ营区.三个营区被抽中的人数依次为( )A.26,16,8 B.25,17,8 C.25,16,9D.24,17,912.某高中在校学生有2 000人.为了响应“阳光体育运动”的号召,学校开展了跑步和登山比赛活动.每人都参与而且只参与其中一项比赛,各年级参与比赛的人数情况如下表:其中a ∶b ∶c =2∶3∶5,全校参与登山的人数占总人数的25.为了了解学生对本次活动的满意程度,从中抽取一个200人的样本进行调查,则从高二年级参与跑步的学生中应抽取________.13.某学校共有教师490人,其中不到40岁的有350人,40岁及以上的有140人,为了检查普通话在该校教师中的推广普及情况,用分层抽样的方法,从全体教师中抽取一个容量为70的样本进行普通话水平测试,其中在不到40岁的教师中应抽取的人数是________.14.一次数学模拟考试,共12道选择题,每题5分,共计60分,每道题有四个可供选择的答案,仅有一个是正确的.学生小张只能确定其中10道题的正确答案,其余2道题完全靠猜测回答.小张所在班级共有40人,此次考试选择题得分情况统计表如下:(1)应抽取多少张选择题得60分的试卷?(2)若小张选择题得60分,求他的试卷被抽到的概率.。
抽题活动方案1. 活动背景抽题活动是一种常见的互动游戏,适用于各种场合,如会议、聚会、教育培训等。
通过抽取题目,可以增加活动的趣味性和交互性,并能够测试参与者的知识和反应能力。
本文将介绍一种抽题活动方案,帮助组织者顺利进行抽题活动。
2. 活动准备在进行抽题活动之前,需要进行一些准备工作。
以下是一些主要的准备事项:2.1 确定题库首先,组织者需要确定一定数量的题目,并将其组成一个题库。
题目可以包括各种类型,如选择题、填空题、判断题等,根据活动的性质和参与者的需求进行选择。
题库的题目数量要充足,以确保活动的进行不会出现重复的问题。
2.2 设定奖品为了激发参与者的积极性,可以设定一些奖品作为抽题活动的奖励。
奖品可以是实物奖品或者虚拟奖励,根据活动的预算和参与者的喜好进行选择。
奖品的种类和数量要适当,以充分吸引参与者的注意力。
2.3 准备抽题工具在进行抽题活动时,需要准备一些抽题工具。
可以使用纸牌、骰子、抽奖箱等工具来进行抽题。
除此之外,还可以使用电子抽题工具,如随机数生成器、抽题软件等。
根据活动的规模和场地的条件选择适合的抽题工具。
3. 活动流程在准备工作完成后,就可以开始进行抽题活动了。
以下是一种常见的抽题活动流程:3.1 参与者报名首先,组织者需要让参与者报名参加活动。
可以通过发放报名表格、线上报名等方式进行。
报名时可以要求参与者填写一些基本信息,如姓名、联系方式等,以方便后续的联系和奖品的发放。
3.2 开始抽题在活动开始前,组织者需要将题目根据一定的顺序进行编号,并将编号写在相应的抽题工具上。
然后,随机选择一个参与者开始抽题。
可以通过抽奖箱、随机数生成器等方式进行抽题。
3.3 参与者回答抽题后,参与者需要回答被抽到的题目。
回答可以设置一定的时间限制,以增加游戏的紧张感和趣味性。
参与者可以口头回答或者书面回答,根据活动的需要进行安排。
3.4 确定答案在参与者回答完题目后,组织者需要公布正确答案,并对参与者的回答进行评判。
本栏目责任编辑:王力计算机教学与教育信息化PPT 中VBA 编程制作随机抽题系统侯伟,吴锦杨*,袁龙华(湖南工学院材料与化学工程学院,湖南衡阳421002)摘要:本随机抽题系统以毕业答辩为例结合VBA 编程和微信公众号互联网技术,改变了传统活动现场环节中的纸质化抽签及抽题的形式,同时还具有答题倒计时功能。
本随机抽题系统可适用于毕业答辩、课堂教学互动、晚会现场抽奖、教学知识竞赛、面试随机抽题等需要随机抽签或抽题的场合。
该系统能够使每一位在场用户通过投影仪屏幕同时看到随机所抽题目,相比传统纸质抽题更公平公正。
关键词:VBA 编程;随机抽题;随机抽签;微信公众号;倒计时中图分类号:TP37文献标识码:A文章编号:1009-3044(2016)30-0100-031背景意义随着电子行业的突飞猛进,计算机及其应用软件走进了人们的生活,我们应该充分利用电子产品资源。
例如,在高校毕业答辩、研究生入学面试等各个抽题环节中一般采用纸质化抽题,这样不仅浪费纸张、浪费碳粉,同时打印机在打印过程中所消耗电能以及微细碳粉对环境产生的危害也不可忽视。
我国仍有大部分地区实行火力发电,需要消耗煤炭,而纸张来源于树皮,这些纸张、电能的消耗都间接导致温室效应,不符合国家长期发展的要求。
通过微信公众号,学生在答辩环节中还可以参与投票表决互动,选出自己认为最佳答辩毕业生。
在高校研究生面试、企业面试、教学知识竞赛、晚会比赛等活动中,通过使用本系统中引用的二维码技术仍然可以满足不同用户的需求。
2技术方案本随机抽题软件可根据参赛选手总人数,自动设置抽签数量,参赛选手只需要点击“开始抽签”控制按钮便可随机滚动生成签号,此时系统状态输出显示器会显示“正在抽签”,点击“停止抽签”控制按钮即可获得自己的抽签结果,此时系统状态输出显示器会显示“您抽的是×号签”。
参赛选手点击“开始抽题”控制按钮时便可高速滚动显示题目编号,此时系统状态输出显示器会显示“正在抽题”,参赛选手点击“停止抽题”控制按钮即可随机不重复获得一个题目编号,此时系统状态输出显示器会显示“请您回答×号题”。
PPT轻松实现随机抽题
设计抽题界面
打开PPT2010,将演示文稿保存成启用宏的PPT演示文稿格式(即.pptm格式,包含宏代码的演示文稿,必须保存成这种格式),在第一张幻灯片中设计抽题界面,先插入三个文本框,写上必要的文字,再通过“开发工具”选项卡,插入三个命令按钮控件,在这些控件上右击,选择“属性”命令,打开它们的“属性”对话框,在“名称”后将命令按钮名称分别修改为:开始、停止和打开抽取的题目,再在Caption后填写按钮上显示的名称(可随意大写,我这儿设置的与按钮名称相同),并对字体、字号、背景颜色、样式等进行设置。
再插入三个文本框控件,同样在“属性”对话框中,修改它们的名称为:抽取框、结果框和已抽题目。
把“抽取框”放到“开始”和“停止”命令按钮控件之间,把“结果框”放到“您抽取的是号题”文本中,将“已抽题目”拖至适合大小,放置到下面(图1)。
接着新建一张幻灯片,设计好被抽题目放置界面,并在其上设计一个返回到抽题界面幻灯片的链接。
将该幻灯片复制多份,将相应题目录入相应各幻灯片上,第二张幻灯片放第一道题目,第三张幻灯片放第二道题目,依次类推。
编写宏代码
接下来,按ALT+F11组合键,打开VBA宏编辑窗口,双击左侧的“Slide1”,将以下代码复制到右窗格中并保存。
Private Sub 开始_Click()
停止.Enabled = True '停止按钮当前有效
Dim a As Integer
Randomize
Do
a = Fix(Rnd * 10 + 1) '使用随机函数
抽取框.Text = a
结果框.Text = ""
DoEvents
Loop
End Sub
Private Sub 停止_Click()
结果框.Text = 抽取框.Text
已抽题目 = 已抽题目 + 抽取框 + " # " '题目标记用#分隔
停止.Enabled = False
End
End Sub
Private Sub 打开抽取的题目_Click()
ActivePresentation.SlideShowWindow_
.View.GotoSlide Val(抽取框.Text + 1)
End Sub
随机抽取题目并打开
到抽取题目时,放映幻灯片,点击第一张的“开始”按钮,此时其后的文本框中就随机快速滚动显示1到10这十个数字,点击“停止”按钮后,数字停止滚动,并显示出抽取的题号,同时在上方给出“您抽取的是X号题”提示,在下方“已抽题目”中显示出所有抽过的题目标号。
点击下方的“打开抽取的题目”按钮,切换到抽取题目幻灯片,选手做完题目后,点击返回链接,回到抽取题目页面,继续为下一个选手抽题(图2)。
小提示:在幻灯片放映状态下,可以选中三个文本框控件中的文本,删除它们,达到清零的目的。
代码图示
宏代码
Private Sub 开始_Click()
停止.Enabled = True '停止按钮当前有效
Dim a As Integer
Randomize
Do
a = Fix(Rnd * 10 + 1) '使用随机函数
抽取框.Text = a
结果框.Text = ""
DoEvents
Loop
End Sub
Private Sub 停止_Click()
结果框.Text = 抽取框.Text
已抽题目 = 已抽题目 + 抽取框 + " # " '题目标记用#分隔停止.Enabled = False
End
End Sub
Private Sub 打开抽取的题目_Click() ActivePresentation.SlideShowWindow_ .View.GotoSlide Val(抽取框.Text + 1) End Sub。