2023年全國(guó)碩士研究生考試考研英語(yǔ)一試題真題(含答案詳解+作文范文)_第1頁(yè)
已閱讀1頁(yè),還剩41頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、<p><b>  摘 要</b></p><p>  一般情況教師想出一份試卷,要么到龐大的題庫(kù)里一道一道的把題找出來(lái),或是從幾本相關(guān)的書里把題一道一道挑出來(lái)。這樣即費(fèi)時(shí)又費(fèi)力,而且很難保證試題的覆蓋面和把握好試卷的難度。正是為了能夠幫助教師輕松的出一份高質(zhì)量的試卷而開(kāi)發(fā)了本系統(tǒng)。</p><p>  以做一個(gè)數(shù)據(jù)庫(kù)原理這門課的題庫(kù)系統(tǒng)為例,為了達(dá)到預(yù)期

2、的標(biāo)準(zhǔn)本文最終選擇了txt文本文件做為本系統(tǒng)的終端輸出。并且實(shí)現(xiàn)了以下主要功能試題數(shù)據(jù)庫(kù)的創(chuàng)建、不同章節(jié)不同難度的試題錄入、圖片保存、試卷分析、自動(dòng)生成試卷等功能,多次運(yùn)行證明本系統(tǒng)運(yùn)行較為穩(wěn)定且各項(xiàng)功能運(yùn)行得比較正確,基本達(dá)到了預(yù)期的要求。</p><p>  關(guān)鍵詞: Visual Basic 6.0,SQL Server 2000,題庫(kù)管理系統(tǒng) </p><p><b> 

3、 目錄</b></p><p>  1 系統(tǒng)功能概述3</p><p><b>  1.1系統(tǒng)功能3</b></p><p>  1.2系統(tǒng)結(jié)構(gòu)總圖3</p><p>  1.3系統(tǒng)E-R模型4</p><p><b>  2 數(shù)據(jù)庫(kù)設(shè)計(jì)5</b><

4、;/p><p>  2.1 需求分析5</p><p>  2.2 功能分析5</p><p>  2.4 表結(jié)構(gòu)設(shè)計(jì)21</p><p>  3 系統(tǒng)各功能模塊的詳細(xì)設(shè)計(jì)24</p><p>  3.1配置數(shù)據(jù)源(ODBC數(shù)據(jù)源)24</p><p>  3.2 窗體的設(shè)計(jì)24<

5、;/p><p>  3.3主要窗體源程序代碼28</p><p>  4系統(tǒng)優(yōu)缺點(diǎn)評(píng)價(jià)42</p><p><b>  參考文獻(xiàn)42</b></p><p><b>  1 系統(tǒng)功能概述</b></p><p><b>  1.1系統(tǒng)功能</b><

6、;/p><p><b>  系統(tǒng)功能介紹:</b></p><p>  1、創(chuàng)建題庫(kù):本系統(tǒng)適合不同科目的老師進(jìn)行試題的錄入,可根據(jù)不同的課程名創(chuàng)建不同的試題數(shù)據(jù)庫(kù),且自動(dòng)生成簡(jiǎn)答題、單選題、多選題、填空題、難度值四張表。</p><p><b>  題庫(kù)維護(hù)系統(tǒng):</b></p><p>  該系統(tǒng)是

7、適合不同課程的老師錄入考試試題,本系統(tǒng)包括了題文的錄入、題文的查找、題文的刪除和修改,章節(jié)的設(shè)定,分值的設(shè)置,試題的難度設(shè)置,試卷分析,以及生成試卷的功能。</p><p><b>  2、生成卷:</b></p><p>  該系統(tǒng)是本軟件的主要的功能的體現(xiàn),不受分值和難易程度的限制,可以人為定義,同時(shí)在分析的過(guò)程中那判定合理性,并提示最高設(shè)置值,讓老師更合理地考察

8、不同程度的學(xué)生的學(xué)習(xí)情況。</p><p>  3、各個(gè)試題數(shù)據(jù)庫(kù)中主要包含以下實(shí)體及其屬性:</p><p> ?。?)簡(jiǎn)答題(旅游團(tuán)編號(hào)、旅游點(diǎn)名稱、地理位置、旅游天數(shù),價(jià)格,出發(fā)日期,返回日期)</p><p> ?。?)單選題(導(dǎo)游編號(hào)、導(dǎo)游姓名、性別、聯(lián)系電話)</p><p>  (3)多選題(游客編號(hào)、游客姓名、性別、年齡、聯(lián)系

9、電話)</p><p> ?。?)填空題(用戶名、密碼)</p><p><b>  1.2系統(tǒng)結(jié)構(gòu)總圖</b></p><p><b>  流程圖:</b></p><p><b>  結(jié)構(gòu)圖:</b></p><p>  1.3系統(tǒng)E-R模型<

10、/p><p><b>  2 數(shù)據(jù)庫(kù)設(shè)計(jì)</b></p><p><b>  2.1 需求分析</b></p><p>  設(shè)計(jì)試題生成功能,試題能分布整個(gè)教學(xué)內(nèi)容</p><p>  設(shè)計(jì)試題的難易程度分析功能</p><p>  具有試題的答案生成功能</p>

11、<p><b>  數(shù)據(jù)庫(kù)設(shè)計(jì)及維護(hù)</b></p><p><b>  程序的其它選項(xiàng)設(shè)置</b></p><p><b>  2.2 功能分析</b></p><p>  1.每創(chuàng)建一個(gè)數(shù)據(jù)庫(kù)將自動(dòng)生成四種題型幾個(gè)各個(gè)章節(jié)的數(shù)據(jù)表,因?yàn)樵阡浫腩}目的時(shí)候要顯示書本章節(jié)信息以供用戶使用。而在

12、數(shù)據(jù)庫(kù)里章節(jié)的存放是沒(méi)有規(guī)則也即它們的順序不一定按照真實(shí)書本的章節(jié)順序來(lái)存儲(chǔ)的。但是在顯示章節(jié)信息的時(shí)候必須按照書本的章節(jié)順序來(lái)顯示。所以分別設(shè)置如下的各張表的數(shù)據(jù)類型: </p><p>  '創(chuàng)建“章節(jié)”數(shù)據(jù)表</p><p>  strSQL = "Create Table 章節(jié) (" _</p><p>  &

13、"編號(hào) int identity primary key," _</p><p>  & "名稱 varchar(50) not null)"</p><p>  objCn.Execute strSQL</p><p>  objCn.Close</p><p>  Set objCn =

14、Nothing</p><p>  MsgBox "數(shù)據(jù)庫(kù)已成功創(chuàng)建!"</p><p>  由于數(shù)據(jù)庫(kù)里章節(jié)的數(shù)量是不定的,故此種數(shù)據(jù)類型的變量必須是一種長(zhǎng)度可變的類型才行。接下來(lái)的問(wèn)題就是把這個(gè)變量記錄的數(shù)據(jù)按一定順序顯示到combobox的控件里了。由于章節(jié)的數(shù)量還是比較多的,所以我選擇了“改進(jìn)的選擇排序”,具體的排序算法代碼實(shí)現(xiàn)如下:</p>&l

15、t;p>  If cmbChapter <> "" Then</p><p>  objRs.Filter = "章節(jié)=" & cmbChapter.ItemData(cmbChapter.ListIndex)</p><p>  If objRs.RecordCount > 0 Then objRs.MoveFirs

16、t</p><p><b>  Show_Data</b></p><p><b>  Else</b></p><p>  objRs.Filter = "章節(jié)=-99999"</p><p><b>  Show_Data</b></p>

17、<p><b>  End If </b></p><p>  2.試卷分析的過(guò)程中,要考慮到一張?jiān)嚲砝锩娓鱾€(gè)不同題目所在比例與試題庫(kù)中該類試題占所有試題庫(kù)中的比例之間的差異問(wèn)題,所以在分析的過(guò)程中在成分不足或者成分超過(guò)的情況需要設(shè)置提示,整個(gè)參數(shù)分析代碼為:</p><p>  '分析章節(jié)中的題數(shù)分配</p><p> 

18、 Dim News, i%, j%, strFilter$, Chapter%(3, 2), k%</p><p>  News = Array("判斷題", "單選題", "多選題", "填空題")</p><p>  For i = 0 To 3</p><p>  If Val(t

19、xtScore(i)) <> 0 And Val(lblRemain(i)) <> 0 Then</p><p>  MsgBox News(i) & "試題剩余" & lblRemain(i) & "%未分配", vbCritical</p><p>  txtScale(i).SetFocus<

20、;/p><p><b>  Exit Sub</b></p><p><b>  End If</b></p><p><b>  Next</b></p><p>  '檢查章節(jié)題量分配是否有效</p><p>  If objRsChapter.

21、RecordCount <= 0 Then Exit Sub</p><p>  For i = 0 To 3</p><p>  If Val(txtScore(i)) <> 0 Then</p><p>  For j = 0 To cmbChapter(i).ListCount - 1</p><p>  objRsC

22、hapter.MoveFirst</p><p>  objRsChapter.Find "名稱='" & cmbChapter(i).List(j) & "'"</p><p>  strFilter = "章節(jié)=" & objRsChapter!編號(hào)</p><p&g

23、t;  Select Case i</p><p>  Case 0 '檢查判斷題題量分配是否有效</p><p>  objRsJudge.Filter = strFilter</p><p>  If objRsJudge.RecordCount < Int(cmbChapter(i).ItemData(j) * _</p><

24、;p>  txtCount(i) / 100) Then</p><p>  MsgBox "<" & News(i) & "><" & objRsChapter!名稱 & ">中只有<" _</p><p>  & objRsJudge.RecordCo

25、unt & ">道試題,小題百分比最多<" _</p><p>  & Int(objRsJudge.RecordCount / Val(txtCount(i)) * 100) _</p><p>  & ">", vbCritical</p><p>  cmbChapter(i).

26、ListIndex = j</p><p><b>  Exit Sub</b></p><p><b>  End If</b></p><p>  '小題數(shù)通過(guò)檢驗(yàn),統(tǒng)計(jì)各類難度試題數(shù)量</p><p>  For k = 0 To 2</p><p>  obj

27、RsJudge.Filter = strFilter & " and 難度=" & k</p><p>  Chapter(i, k) = Chapter(i, k) + objRsJudge.RecordCount</p><p><b>  Next</b></p><p>  Case 1 '

28、檢查單選題題量分配是否有效</p><p>  objRsSingle.Filter = strFilter</p><p>  If objRsSingle.RecordCount < Int(cmbChapter(i).ItemData(j) * _</p><p>  txtCount(i) / 100) Then</p><p>

29、;  MsgBox "<" & News(i) & "><" & objRsChapter!名稱 & ">中只有<" _</p><p>  & objRsSingle.RecordCount & ">道試題,小題百分比最多<" _</p&

30、gt;<p>  & Int(objRsSingle.RecordCount / Val(txtCount(i)) * 100) _</p><p>  & ">", vbCritical</p><p>  cmbChapter(i).ListIndex = j</p><p><b>  Exit

31、 Sub</b></p><p><b>  End If</b></p><p>  '小題數(shù)通過(guò)檢驗(yàn),統(tǒng)計(jì)各類難度試題數(shù)量</p><p>  For k = 0 To 2</p><p>  objRsSingle.Filter = strFilter & " and 難度=&

32、quot; & k</p><p>  Chapter(i, k) = Chapter(i, k) + objRsSingle.RecordCount</p><p><b>  Next</b></p><p>  Case 2 '檢查多選題題量分配是否有效</p><p>  objRsMore.F

33、ilter = strFilter</p><p>  If objRsMore.RecordCount < Int(cmbChapter(i).ItemData(j) * _</p><p>  txtCount(i) / 100) Then</p><p>  MsgBox "<" & News(i) & &quo

34、t;><" & objRsChapter!名稱 & ">中只有<" _</p><p>  & objRsMore.RecordCount & ">道試題,小題百分比最多<" _</p><p>  & Int(objRsMore.RecordCount / Val

35、(txtCount(i)) * 100) _</p><p>  & ">", vbCritical</p><p>  cmbChapter(i).ListIndex = j</p><p><b>  Exit Sub</b></p><p><b>  End If<

36、;/b></p><p>  '小題數(shù)通過(guò)檢驗(yàn),統(tǒng)計(jì)各類難度試題數(shù)量</p><p>  For k = 0 To 2</p><p>  objRsMore.Filter = strFilter & " And 難度 = " & k</p><p>  Chapter(i, k) = Cha

37、pter(i, k) + objRsMore.RecordCount</p><p><b>  Next</b></p><p>  Case 3 '檢查填空題題量分配是否有效</p><p>  objRsSpace.Filter = strFilter</p><p>  If objRsSpace.Re

38、cordCount < Int(cmbChapter(i).ItemData(j) * _</p><p>  txtCount(i) / 100) Then</p><p>  MsgBox "<" & News(i) & "><" & objRsChapter!名稱 & ">

39、中只有<" _</p><p>  & objRsSpace.RecordCount & ">道試題,小題百分比最多<" _</p><p>  & Int(objRsSpace.RecordCount / Val(txtCount(i)) * 100) & ">", vbCritic

40、al</p><p>  cmbChapter(i).ListIndex = j</p><p><b>  Exit Sub</b></p><p><b>  End If</b></p><p>  '小題數(shù)通過(guò)檢驗(yàn),統(tǒng)計(jì)各類難度試題數(shù)量</p><p>  F

41、or k = 0 To 2</p><p>  objRsSpace.Filter = strFilter & " and 難度=" & k</p><p>  Chapter(i, k) = Chapter(i, k) + objRsSpace.RecordCount</p><p><b>  Next</b&

42、gt;</p><p>  End Select</p><p><b>  Next</b></p><p><b>  End If</b></p><p><b>  Next</b></p><p>  '按難度檢查題量分配是否合理<

43、;/p><p>  For i = 0 To 3</p><p>  '檢查難度屬于“難”的題題量分配是否有效</p><p>  If Chapter(i, 0) < Int(Val(txtCount(i)) * txtLevel0(i) / 100) Then</p><p>  MsgBox News(i) & &qu

44、ot;題庫(kù)中難度屬于“難”的題只有<" _</p><p>  & Chapter(i, 0) & ">道,難度百分比最大可為<" _</p><p>  & Int(Chapter(i, 0) / Val(txtCount(i)) * 100) _</p><p>  & "

45、>", vbCritical</p><p>  txtLevel0(i).SetFocus</p><p><b>  Exit Sub</b></p><p><b>  End If</b></p><p>  '檢查難度屬于“一般”的題題量分配是否有效</p&g

46、t;<p>  If Chapter(i, 1) < Int(Val(txtCount(i)) * txtLevel1(i) / 100) Then</p><p>  MsgBox News(i) & "題庫(kù)中難度屬于“一般”的題只有<" _</p><p>  & Chapter(i, 1) & ">

47、道,難度百分比最大可為<" _</p><p>  & Int(Chapter(i, 1) / Val(txtCount(i)) * 100) _</p><p>  & ">", vbCritical</p><p>  txtLevel1(i).SetFocus</p><p>&

48、lt;b>  Exit Sub</b></p><p><b>  End If</b></p><p>  '檢查難度屬于“容易”的題題量分配是否有效</p><p>  If Chapter(i, 2) < Int(Val(txtCount(i)) * txtLevel2(i) / 100) Then<

49、/p><p>  MsgBox News(i) & "題庫(kù)中難度屬于“容易”的題只有<" _</p><p>  & Chapter(i, 2) & ">道,難度百分比最大可為<" _</p><p>  & Int(Chapter(i, 2) / Val(txtCount(i))

50、 * 100) _</p><p>  & ">", vbCritical</p><p>  txtLevel2(i).SetFocus</p><p><b>  Exit Sub</b></p><p><b>  End If</b></p>

51、<p><b>  Next</b></p><p>  MsgBox "試卷參數(shù)設(shè)置正確,可以生成試卷!", vbInformation</p><p>  '取消各個(gè)記錄集的過(guò)慮設(shè)置</p><p>  objRsSpace.Filter = ""</p><p&

52、gt;  objRsMore.Filter = ""</p><p>  objRsSingle.Filter = ""</p><p>  objRsJudge.Filter = ""</p><p>  cmdMakePaper.Enabled = True</p><p>&l

53、t;b>  Exit Sub</b></p><p>  3.在自動(dòng)生成試卷里最主要的一點(diǎn)就是如何生成一個(gè)覆蓋知道點(diǎn)廣且試題不重復(fù)的試卷。其中的關(guān)鍵算法在于如何生成一個(gè)不重復(fù)的隨機(jī)數(shù)序列。同時(shí),為了防止生成時(shí)間過(guò)長(zhǎng)或者說(shuō)代碼編寫出錯(cuò)時(shí)造成程序運(yùn)行不停止,需要設(shè)置一個(gè)時(shí)間函數(shù),控制試卷生成時(shí)間,本文定義的是30秒,如果超過(guò)這個(gè)時(shí)間將停止生成試卷并提示錯(cuò)誤。程序如下:</p><

54、p>  Randomize Timer</p><p>  Dim Level0%(3), Level1%(3), Level2%(3), i%, n%, strTest$, strAnswer$</p><p>  Dim Count%(3), Selected$, Chapter%(), Ok, Abcd, more%, doTime As Long</p><

55、;p>  doTime = Timer '開(kāi)始計(jì)算生成試題時(shí)間</p><p>  Abcd = Array("A", "B", "C", "D")</p><p>  ReDim Chapter(3, cmbChapter(0).ListCount - 1)</p><p

56、>  '計(jì)算各類題型的難度小題數(shù)</p><p>  For i = 0 To 3</p><p>  n = Val(txtCount(i))</p><p>  Count(i) = n</p><p>  Level0%(i) = Int(Val(txtLevel0(i)) * n / 100)</p>&l

57、t;p>  Level1%(i) = Int(Val(txtLevel1(i)) * n / 100)</p><p>  Level2%(i) = Int(Val(txtLevel2(i)) * n / 100)</p><p>  If Level0%(i) + Level1%(i) + Level2%(i) <> n Then _</p><p&

58、gt;  Level1%(i) = n - Level0%(i) - Level2%(i)</p><p><b>  Next</b></p><p>  For i = 0 To 3</p><p>  cmbChapter(i).ItemData(0) = 20</p><p>  cmbChapter(i).It

59、emData(1) = 30</p><p>  cmbChapter(i).ItemData(2) = 30</p><p>  cmbChapter(i).ItemData(3) = 20</p><p><b>  Next</b></p><p>  '計(jì)算個(gè)章節(jié)各類題型的小題數(shù)</p>&

60、lt;p>  For i = 0 To 3</p><p>  For j = 0 To cmbChapter(0).ListCount - 1</p><p>  Chapter(i, j) = Int(cmbChapter(i).ItemData(j) * Val(txtCount(i)) / 100)</p><p><b>  Next<

61、;/b></p><p><b>  n = 0</b></p><p>  For j = 0 To cmbChapter(0).ListCount - 1</p><p>  n = n + Chapter(i, j)</p><p><b>  Next</b></p>&

62、lt;p>  If n <> Val(txtCount(i)) Then Chapter(i, 0) = Chapter(i, 0) + Val(txtCount(i)) - n</p><p><b>  Next</b></p><p>  '將cmbchapter列表itemdata中的百分比數(shù)轉(zhuǎn)換為章節(jié)編號(hào)</p>&l

63、t;p>  For i = 0 To 3</p><p>  For j = 0 To cmbChapter(0).ListCount - 1</p><p>  objRsChapter.MoveFirst</p><p>  objRsChapter.Find "名稱='" & cmbChapter(i).List(j)

64、 & "'"</p><p>  cmbChapter(i).ItemData(j) = objRsChapter!編號(hào)</p><p><b>  Next</b></p><p><b>  Next</b></p><p><b>  '生

65、成試卷</b></p><p>  For i = 0 To 3</p><p>  Selected = ""</p><p>  Select Case i</p><p>  Case 0 '選擇判斷題</p><p>  strTest = strTest &

66、"一、簡(jiǎn)答題。(共" & txtCount(i) _</p><p>  & ",每小題" & txtAvg(i) & "分,共" & txtScore(i) & "分)" & vbCrLf</p><p>  strAnswer = strAnswer

67、& "一、簡(jiǎn)答題。(共" & txtCount(i) _</p><p>  & ",每小題" & txtAvg(i) & "分,共" & txtScore(i) & "分)" & vbCrLf</p><p><b>  j = 1&l

68、t;/b></p><p>  While Count(i) > 0</p><p>  '隨即產(chǎn)生一個(gè)未選擇的試題的記錄序號(hào)</p><p><b>  Do</b></p><p>  If Timer - doTime > 30 Then</p><p>  Msg

69、Box "本次生成判斷題花費(fèi)時(shí)間過(guò)長(zhǎng),退出重試!", vbCritical</p><p><b>  Exit Sub</b></p><p><b>  End If</b></p><p>  n = Int(Rnd * objRsJudge.RecordCount + 1)</p>

70、<p>  Loop Until InStr(Selected, "#" & n & "#") = 0</p><p>  Selected = Selected & "#" & n & "#"</p><p>  objRsJudge.MoveFirst&l

71、t;/p><p>  objRsJudge.Move n - 1</p><p>  Select Case objRsJudge!難度</p><p><b>  Case 0</b></p><p>  If Level0(i) > 0 Then</p><p>  '檢查本章試題是

72、否已選夠</p><p>  For n = 0 To 3</p><p>  If cmbChapter(i).ItemData(n) = objRsJudge!章節(jié) Then Exit For</p><p><b>  Next</b></p><p>  If Chapter(i, n) > 0 Then&

73、lt;/p><p>  strTest = strTest & j & "、" & objRsJudge!題干 & "( )" & vbCrLf</p><p>  strAnswer = strAnswer & j & "、"</p><p>  

74、9;If objRsJudge!答案 Then</p><p>  ' strAnswer = strAnswer & "錯(cuò)誤"</p><p><b>  ' Else</b></p><p>  ' strAnswer = strAnswer & "正確"&l

75、t;/p><p><b>  ' End If</b></p><p>  strAnswer = strAnswer & vbCrLf</p><p><b>  j = j + 1</b></p><p>  Chapter(i, n) = Chapter(i, n) - 1<

76、/p><p>  Level0(i) = Level0(i) - 1</p><p>  Count(i) = Count(i) - 1</p><p>  If Not IsNull(objRsJudge!圖片) Then _</p><p>  strTest = strTest & "本題圖片:" & o

77、bjRsJudge!圖片</p><p><b>  End If</b></p><p><b>  End If</b></p><p><b>  Case 1</b></p><p>  If Level1(i) > 0 Then</p><p

78、>  '檢查本章試題是否已選夠</p><p>  For n = 0 To 3</p><p>  If cmbChapter(i).ItemData(n) = objRsJudge!章節(jié) Then Exit For</p><p><b>  Next</b></p><p>  If Chapter(

79、i, n) > 0 Then</p><p>  strTest = strTest & j & "、" & objRsJudge!題干 & "( )" & vbCrLf</p><p>  strAnswer = strAnswer & j & "、"</p&g

80、t;<p>  'If objRsJudge!答案 Then</p><p>  'strAnswer = strAnswer & "錯(cuò)誤"</p><p><b>  'Else</b></p><p>  ' strAnswer = strAnswer & &

81、quot;正確"</p><p><b>  'End If</b></p><p>  strAnswer = strAnswer & vbCrLf</p><p><b>  j = j + 1</b></p><p>  Chapter(i, n) = Chapter

82、(i, n) - 1</p><p>  Level1(i) = Level1(i) - 1</p><p>  Count(i) = Count(i) - 1</p><p>  If Not IsNull(objRsJudge!圖片) Then _</p><p>  strTest = strTest & "本題圖片:

83、" & objRsJudge!圖片</p><p><b>  End If</b></p><p><b>  End If</b></p><p><b>  Case 2</b></p><p>  If Level2(i) > 0 Then<

84、;/p><p>  '檢查本章試題是否已選夠</p><p>  For n = 0 To 3</p><p>  If cmbChapter(i).ItemData(n) = objRsJudge!章節(jié) Then Exit For</p><p><b>  Next</b></p><p>

85、;  If Chapter(i, n) > 0 Then</p><p>  strTest = strTest & j & "、" & objRsJudge!題干 & "( )" & vbCrLf</p><p>  strAnswer = strAnswer & j & "、

86、"</p><p>  strAnswer = strAnswer & vbCrLf</p><p><b>  j = j + 1</b></p><p>  Chapter(i, n) = Chapter(i, n) - 1</p><p>  Level2(i) = Level2(i) - 1&l

87、t;/p><p>  Count(i) = Count(i) - 1</p><p>  If Not IsNull(objRsJudge!圖片) Then _</p><p>  strTest = strTest & "本題圖片:" & objRsJudge!圖片</p><p><b>  En

88、d If</b></p><p><b>  End If</b></p><p>  End Select</p><p><b>  Wend</b></p><p>  Case 1 '卸載單選題</p><p>  strTest = strTe

89、st & "二、單選題。(共" & txtCount(i) _</p><p>  & ",每小題" & txtAvg(i) & "分,共" & txtScore(i) & "分)" & vbCrLf</p><p>  strAnswer = s

90、trAnswer & "二、單選題。(共" & txtCount(i) _</p><p>  & ",每小題" & txtAvg(i) & "分,共" & txtScore(i) & "分)" & vbCrLf</p><p><b>

91、  j = 1</b></p><p>  While Count(i) > 0</p><p>  '隨即產(chǎn)生一個(gè)未選擇的試題的記錄序號(hào)</p><p><b>  Do</b></p><p>  If Timer - doTime > 30 Then</p><p

92、>  MsgBox "本次生成單選題試題花費(fèi)時(shí)間過(guò)長(zhǎng),退出重試!", vbCritical</p><p><b>  Exit Sub</b></p><p><b>  End If</b></p><p>  n = Int(Rnd * objRsSingle.RecordCount + 1

93、)</p><p>  Loop Until InStr(Selected, "#" & n & "#") = 0</p><p>  Selected = Selected & "#" & n & "#"</p><p>  objRsSingl

94、e.MoveFirst</p><p>  objRsSingle.Move n - 1</p><p>  Select Case objRsSingle!難度</p><p><b>  Case 0</b></p><p>  If Level0(i) > 0 Then</p><p>

95、;  '檢查本章試題是否已選夠</p><p>  For n = 0 To 3</p><p>  If cmbChapter(i).ItemData(n) = objRsSingle!章節(jié) Then Exit For</p><p><b>  Next</b></p><p>  If Chapter(i,

96、 n) > 0 Then</p><p>  strTest = strTest & j & "、" & objRsSingle!題干 & vbCrLf</p><p>  strTest = strTest & " A、" & objRsSingle!選項(xiàng)1 & vbCrLf<

97、;/p><p>  strTest = strTest & " B、" & objRsSingle!選項(xiàng)2 & vbCrLf</p><p>  strTest = strTest & " C、" & objRsSingle!選項(xiàng)3 & vbCrLf</p><p>  

98、strTest = strTest & " D、" & objRsSingle!選項(xiàng)4 & vbCrLf</p><p>  strAnswer = strAnswer & j & "、" & Abcd(objRsSingle!答案) & vbCrLf</p><p><b> 

99、 j = j + 1</b></p><p>  Chapter(i, n) = Chapter(i, n) - 1</p><p>  Level0(i) = Level0(i) - 1</p><p>  Count(i) = Count(i) - 1</p><p>  If Not IsNull(objRsSingle!圖

100、片) Then _</p><p>  strTest = strTest & "本題圖片:" & objRsSingle!圖片</p><p><b>  End If</b></p><p><b>  End If</b></p><p><b>

101、  Case 1</b></p><p>  If Level1(i) > 0 Then</p><p>  '檢查本章試題是否已選夠</p><p>  For n = 0 To 3</p><p>  If cmbChapter(i).ItemData(n) = objRsSingle!章節(jié) Then Exit

102、For</p><p><b>  Next</b></p><p>  If Chapter(i, n) > 0 Then</p><p>  strTest = strTest & j & "、" & objRsSingle!題干 & vbCrLf</p><p&

103、gt;  strTest = strTest & " A、" & objRsSingle!選項(xiàng)1 & vbCrLf</p><p>  strTest = strTest & " B、" & objRsSingle!選項(xiàng)2 & vbCrLf</p><p>  strTest = strTe

104、st & " C、" & objRsSingle!選項(xiàng)3 & vbCrLf</p><p>  strTest = strTest & " D、" & objRsSingle!選項(xiàng)4 & vbCrLf</p><p>  strAnswer = strAnswer & j &

105、 "、" & Abcd(objRsSingle!答案) & vbCrLf</p><p><b>  j = j + 1</b></p><p>  Chapter(i, n) = Chapter(i, n) - 1</p><p>  Level1(i) = Level1(i) - 1</p>

106、<p>  Count(i) = Count(i) - 1</p><p>  If Not IsNull(objRsSingle!圖片) Then _</p><p>  strTest = strTest & "本題圖片:" & objRsSingle!圖片</p><p><b>  End If<

107、;/b></p><p><b>  End If</b></p><p><b>  Case 2</b></p><p>  If Level2(i) > 0 Then</p><p>  '檢查本章試題是否已選夠</p><p>  For n =

108、0 To 3</p><p>  If cmbChapter(i).ItemData(n) = objRsSingle!章節(jié) Then Exit For</p><p><b>  Next</b></p><p>  If Chapter(i, n) > 0 Then</p><p>  strTest = st

109、rTest & j & "、" & objRsSingle!題干 & vbCrLf</p><p>  strTest = strTest & " A、" & objRsSingle!選項(xiàng)1 & vbCrLf</p><p>  strTest = strTest & "

110、 B、" & objRsSingle!選項(xiàng)2 & vbCrLf</p><p>  strTest = strTest & " C、" & objRsSingle!選項(xiàng)3 & vbCrLf</p><p>  strTest = strTest & " D、" & o

111、bjRsSingle!選項(xiàng)4 & vbCrLf</p><p>  strAnswer = strAnswer & j & "、" & Abcd(objRsSingle!答案) & vbCrLf</p><p><b>  j = j + 1</b></p><p>  Chapter

112、(i, n) = Chapter(i, n) - 1</p><p>  Level2(i) = Level2(i) - 1</p><p>  Count(i) = Count(i) - 1</p><p>  If Not IsNull(objRsSingle!圖片) Then _</p><p>  strTest = strTest

113、& "本題圖片:" & objRsSingle!圖片</p><p><b>  End If</b></p><p><b>  End If</b></p><p>  End Select</p><p><b>  Wend</b>&

114、lt;/p><p>  Case 2 '選擇多選題</p><p>  strTest = strTest & "三、多選題。(共" & txtCount(i) _</p><p>  & ",每小題" & txtAvg(i) & "分,共" & txt

115、Score(i) & "分)" & vbCrLf</p><p>  strAnswer = strAnswer & "三、多選題。(共" & txtCount(i) _ & ",每小題" & txtAvg(i) & "分,共" & txtScore(i) & &

116、quot;分)" & vbCrLf</p><p><b>  j = 1</b></p><p>  While Count(i) > 0</p><p>  '隨即產(chǎn)生一個(gè)未選擇的試題的記錄序號(hào)</p><p><b>  Do</b></p>&l

117、t;p>  If Timer - doTime > 30 Then</p><p>  MsgBox "本次生成試題花費(fèi)時(shí)間過(guò)長(zhǎng),退出重試!", vbCritical</p><p><b>  Exit Sub</b></p><p><b>  End If</b></p>

118、<p>  n = Int(Rnd * objRsMore.RecordCount + 1)</p><p>  Loop Until InStr(Selected, "#" & n & "#") = 0</p><p>  Selected = Selected & "#" & n &

119、amp; "#"</p><p>  objRsMore.MoveFirst</p><p>  objRsMore.Move n - 1</p><p>  Select Case objRsMore!難度</p><p><b>  Case 0</b></p><p> 

120、 If Level0(i) > 0 Then</p><p>  '檢查本章試題是否已選夠</p><p>  For n = 0 To 3</p><p>  If cmbChapter(i).ItemData(n) = objRsMore!章節(jié) Then Exit For</p><p><b>  Next<

121、;/b></p><p>  If Chapter(i, n) > 0 Then</p><p>  strTest = strTest & j & "、" & objRsMore!題干 & vbCrLf</p><p>  strTest = strTest & " A、&qu

122、ot; & objRsMore!選項(xiàng)1 & vbCrLf</p><p>  strTest = strTest & " B、" & objRsMore!選項(xiàng)2 & vbCrLf</p><p>  strTest = strTest & " C、" & objRsMore!選項(xiàng)3

123、& vbCrLf</p><p>  strTest = strTest & " D、" & objRsMore!選項(xiàng)4 & vbCrLf</p><p>  strAnswer = strAnswer & j & "、"</p><p>  For more = 0 To

124、 3</p><p>  If Mid(objRsMore!答案, more + 1, 1) = "1" Then _</p><p>  strAnswer = strAnswer & Abcd(more) & ","</p><p><b>  Next</b></p>

125、<p>  strAnswer = strAnswer & vbCrLf</p><p><b>  j = j + 1</b></p><p>  Chapter(i, n) = Chapter(i, n) - 1</p><p>  Level0(i) = Level0(i) - 1</p><p>

126、;  Count(i) = Count(i) - 1</p><p>  If Not IsNull(objRsMore!圖片) Then _</p><p>  strTest = strTest & "本題圖片:" & objRsMore!圖片</p><p><b>  End If</b></p

127、><p><b>  End If</b></p><p><b>  Case 1</b></p><p>  If Level1(i) > 0 Then</p><p>  '檢查本章試題是否已選夠</p><p>  For n = 0 To 3</p&

128、gt;<p>  If cmbChapter(i).ItemData(n) = objRsMore!章節(jié) Then Exit For</p><p><b>  Next</b></p><p>  If Chapter(i, n) > 0 Then</p><p>  strTest = strTest & j &

129、amp; "、" & objRsMore!題干 & vbCrLf</p><p>  strTest = strTest & " A、" & objRsMore!選項(xiàng)1 & vbCrLf</p><p>  strTest = strTest & " B、" &

130、objRsMore!選項(xiàng)2 & vbCrLf</p><p>  strTest = strTest & " C、" & objRsMore!選項(xiàng)3 & vbCrLf</p><p>  strTest = strTest & " D、" & objRsMore!選項(xiàng)4 & vbCr

131、Lf</p><p>  strAnswer = strAnswer & j & "、"</p><p>  For more = 0 To 3</p><p>  If Mid(objRsMore!答案, more + 1, 1) = "1" Then _</p><p>  strA

132、nswer = strAnswer & Abcd(more) & ","</p><p><b>  Next</b></p><p>  strAnswer = strAnswer & vbCrLf</p><p><b>  j = j + 1</b></p>

133、<p>  Chapter(i, n) = Chapter(i, n) - 1</p><p>  Level1(i) = Level1(i) - 1</p><p>  Count(i) = Count(i) - 1</p><p>  If Not IsNull(objRsMore!圖片) Then _</p><p>  st

134、rTest = strTest & "本題圖片:" & objRsMore!圖片</p><p><b>  End If</b></p><p><b>  End If</b></p><p><b>  Case 2</b></p><p&

135、gt;  If Level2(i) > 0 Then</p><p>  '檢查本章試題是否已選夠</p><p>  For n = 0 To 3</p><p>  If cmbChapter(i).ItemData(n) = objRsMore!章節(jié) Then Exit For</p><p><b>  Nex

136、t</b></p><p>  If Chapter(i, n) > 0 Then</p><p>  strTest = strTest & j & "、" & objRsMore!題干 & vbCrLf</p><p>  strTest = strTest & " A

137、、" & objRsMore!選項(xiàng)1 & vbCrLf</p><p>  strTest = strTest & " B、" & objRsMore!選項(xiàng)2 & vbCrLf</p><p>  strTest = strTest & " C、" & objRsMore!

138、選項(xiàng)3 & vbCrLf</p><p>  strTest = strTest & " D、" & objRsMore!選項(xiàng)4 & vbCrLf</p><p>  strAnswer = strAnswer & j & "、"</p><p>  For more =

139、0 To 3</p><p>  If Mid(objRsMore!答案, more + 1, 1) = "1" Then _</p><p>  strAnswer = strAnswer & Abcd(more) & ","</p><p><b>  Next</b></p&g

140、t;<p>  strAnswer = strAnswer & vbCrLf</p><p><b>  j = j + 1</b></p><p>  Chapter(i, n) = Chapter(i, n) - 1</p><p>  Level2(i) = Level2(i) - 1</p><

141、p>  Count(i) = Count(i) - 1</p><p>  If Not IsNull(objRsMore!圖片) Then _</p><p>  strTest = strTest & "本題圖片:" & objRsMore!圖片</p><p>  End If End If</p>

142、<p>  End Select</p><p><b>  Wend</b></p><p>  Case 3 '選擇填空題</p><p>  strTest = strTest & "四、填空題。(共" & txtCount(i) _</p><p>  &a

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論