中國(guó)地質(zhì)大學(xué)北京秋研究生VB期末試卷及答案詳解與拓展.docx
《中國(guó)地質(zhì)大學(xué)北京秋研究生VB期末試卷及答案詳解與拓展.docx》由會(huì)員分享,可在線閱讀,更多相關(guān)《中國(guó)地質(zhì)大學(xué)北京秋研究生VB期末試卷及答案詳解與拓展.docx(17頁珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
中國(guó)地質(zhì)大學(xué)(北京)研究生試卷(A) 2015秋季學(xué)期 課程號(hào):SG04002 《VB程序設(shè)計(jì)》考試試卷(A) 考試形式:閉卷考試 考試時(shí)間:120分鐘 所有答案答在答題紙上 院系 學(xué)號(hào) 姓名 得分 題號(hào) 一 二 三 四 五 總分 一. 判斷題(正確劃√,錯(cuò)誤劃)(10分) 1. 事件的編程可以在代碼設(shè)計(jì)窗口中進(jìn)行,系統(tǒng)為不同對(duì)象提供了不同的事件集。事件是對(duì)象特有的,不能主觀臆造 (事件不是對(duì)象特有的,方法是對(duì)象所特有的) 2. 即使單選按鈕控件數(shù)組中的元素分屬在多個(gè)容器中也只能從中選擇一個(gè)控件 3. 過程和函數(shù)的區(qū)別在于有無返回值 √ 4. 只要把Image控件的Stretch屬性設(shè)置為 True,控件會(huì)自動(dòng)調(diào)整大小以適應(yīng)所裝載的圖片的大?。ㄕf反了,應(yīng)該是圖片適應(yīng)控件的大?。? 5. Left(Val("1234ab"), 2)的結(jié)果是”12” √ Val 返回的是數(shù),把1234給left, 但是left 返回是串,取串里的兩個(gè)字符12,所以結(jié)果是12這個(gè)串,要加雙引號(hào)。 6. 列表框控件的Style屬性為1(Checkbox)時(shí),MultiSelect屬性必須為0(None)√ Style 只有0和1,0是標(biāo)準(zhǔn)的,1是復(fù)選checkbox,組合框是三個(gè)值0,1,2 7. 沒有通用對(duì)話框控件文件就沒辦法讀寫 對(duì)話框不負(fù)責(zé)文件的讀寫,只負(fù)責(zé)傳串,文件讀寫由讀寫語句進(jìn)行。讀圖形文件是函數(shù)完成的,load picture, 寫圖形文件是save picture. 8. 通過PaintPicture方法可以對(duì)圖片進(jìn)行縮放和裁剪等變換 √ 還可以翻轉(zhuǎn) 9. Do~loop while和Do while ~loop 在循環(huán)條件為True時(shí)循環(huán)結(jié)果一樣 √ 當(dāng)循環(huán)條件為false時(shí)不一樣 10. 只有頂級(jí)菜單和二級(jí)菜單才能調(diào)用窗體的PopupMenu方法制作彈出式菜單 只有父菜單才能備調(diào)用 二. 單項(xiàng)選擇填空題(共40分) 1. 有value屬性的控件是【 D 】 A. TextBox B.ListBox C.ComboBox D.ScrollBar 有value屬性的有三個(gè)控件:opptionbutton, checkbox, scrollbar 2. 下列屬性中不屬于組合框控件是【 B 】 A.ListIndex B.Selected C.Text D.List 3. 能畫橫半軸為3,縱半軸為2的語句是【 C 】 A.Me.Circle (0, 0), 3, , , 2 / 3 B.Me.Circle (0, 0), 3, , , , 3 /2 C.Me.Circle (0, 0), 3, , , , 2 / 3 D.Me.Circle (0, 0), 3, , , 3/2 [<對(duì)象名>.]Circle [Step](x, y),<半徑>,[<顏色>], , ,<邊比率> 縱比橫 中間缺3個(gè)參數(shù),顏色,起和止幅度,用四個(gè)逗號(hào)分隔 4. 下列控件沒有change事件是【 B 】 A.TextBox B.ListBox C.ScrollBar D.ComboBox 5. 命令按鈕控件能響應(yīng)用戶的單擊必須保證其【 C 】屬性均為真 A.Visible和Caption B.Enabled和ToolTipText C. Enabled 和Visible D.Caption和ToolTipText 6. 下面標(biāo)識(shí)符哪個(gè)可作為數(shù)組的名字【 B 】 A.1abc B.a(chǎn)bc1 C.a(chǎn)b(c1) D.a(chǎn).bc1 標(biāo)識(shí)符命名規(guī)則:以字母和漢字開頭,不能和已有函數(shù)重名,標(biāo)識(shí)符由字母、數(shù)字和下劃線組成。 7. 下列對(duì)象中沒有Caption屬性的是【 D 】 A.MDI Form B. SDI Form C.Label D. ScrollBar 8. 下列【 A 】方法是MDI Form 特有的方法 A. Arrange B. Hide C.SetFocus D.Show 9. 下面【 A 】對(duì)象擁有AutoRedraw屬性 A.PictureBox和窗體 B.Frame和窗體 C.PictureBox和Frame D.PictureBox和Image AutoRedraw是存儲(chǔ)動(dòng)態(tài)輸出信息的,在窗體重繪時(shí)還拿出來描繪的窗體,就要把a(bǔ)utoredraw置為true. 窗體最小化后展開,窗體被其他窗體覆蓋,窗體由小變大的時(shí)候。窗體和picturebox支持繪圖。 10. 下列【 D 】屬性是SDI Form 特有的 A.Enabled B.DrawWidth C.Caption D.MDIChild 11. 下列控件中沒有事件的是【 D 】 A.Timer控件和Shape控件 B.Shape控件和菜單 C.Timer控件和菜單 D.Shape和Line控件 Timer有timer事件,菜單有click事件 12. 不能作為容器是【 D 】 A. Frame B.Form C.PictureBox D.Image 容器有四個(gè),窗體的容器MDI,SDI窗體,frame控件,picturebox. 13. 動(dòng)態(tài)數(shù)組重定義應(yīng)使用【 D 】關(guān)鍵字 A. Dim B.Preserve C.Type D.ReDim Dim 可以定義窗體級(jí)變量,也可以定義局部變量,窗體級(jí)在通用段定義,局部在函數(shù)和過程內(nèi)定義。靜態(tài)局部變量可以保留上次函數(shù)調(diào)用的值。 14. 下列對(duì)象中擁有KeyPreview屬性是【 B 】 A. MDI Form B. SDI Form C.ComboBox D. ListBox 15. 可以刪除列表框所有列表?xiàng)l目的方法是【 A 】 A. Clear B.RemoveItem C.Additem D.Cls Cls是清屏 16. 可以向列表框添加列表?xiàng)l目的方法是【 C 】 A.Clear B.RemoveItem C. Additem D.Cls 17. 下列【 B 】語句可以讓T控件1秒中自動(dòng)激發(fā)10次Timer事件 A.T.Interval =50 B.T.Interval = 100 C.T.Interval =150 D.T.Interval =200 1秒=1000毫秒 18. 下列【 A 】方法能完成窗體邏輯坐標(biāo)系統(tǒng)的設(shè)置 A. Scale B.SetFocus C.Show D.PaintPicture 徒手寫不用坐標(biāo)系統(tǒng) 19. 【 C 】屬性可以設(shè)置TextBox輸入文本的掩碼 A. MaxLength B.FontSize C.PasswordChar D.MultiLine MaxLength 設(shè)置文本框,接納的最大文本數(shù) 20. 窗體第一個(gè)和最后一個(gè)發(fā)生的事件是【 A 】 A.Initialize和 Terminate B.Terminate和Initialize C.Load 和Unload D.Unload和Load 21. 若要處理程序運(yùn)行過程中的錯(cuò)誤應(yīng)使用【 C 】語句先捕獲錯(cuò)誤 A.On Error GoTo 0 B.On Error Resume Next C.On Error GoTo 語句行號(hào) D.Resume Next 捕獲的時(shí)候有三種情況:On Error GoTo 0 :系統(tǒng)處理錯(cuò)誤的方法 On Error Resume Next :忽略錯(cuò)誤 On Error GoTo 語句行號(hào) 正確的處理方式 三種錯(cuò)誤:語法錯(cuò)誤,邏輯錯(cuò)誤,運(yùn)行錯(cuò)誤 恢復(fù)錯(cuò)誤:Resume Next,Resume 行號(hào),Resume 0(從錯(cuò)誤行開始執(zhí)行) 三. 閱讀下面程序,寫出單擊Command1后的程序運(yùn)行結(jié)果(10分) 1. Private Sub Ch(ByVal a As Integer, ByRef b As Integer) Dim k As Integer k = a: a = b: b = k End Sub Private Sub Command1_Click() Dim x As Integer, y As Integer x = 10: y = 20 Ch x, y Print x, y End Sub (10 10)不能是(10,10) 2. Private Sub Command1_Click() Dim x As Integer, y As Integer x = 91 y = x Mod 10 * 10 + x \ 10 Print y End Sub 乘的優(yōu)先級(jí)比mod高 Mod是求余數(shù) 答案是100 3. Private Sub Command1_Click() Print av(3, 4, 6, 8, 10) End Sub Public Function av(ParamArray s()) As Single Dim H As Integer Dim i As Variant Dim C As Integer For Each i In s H = H + i C = C + 1 Next i av = H / C End Function 這個(gè)是求平均值 31/5=6.2 4. Public Function ABC(a As Single, Optional b = 5) As Integer If IsMissing(b) = True Then ABC = a * a Else ABC = a * b End If End Function Private Sub Command1_Click() Print ABC(10, 2), ABC(3) End Sub 答案是(20,15) 缺省參數(shù) IsMissing(b) = True 的意思是如果b是缺省的,但是b已經(jīng)給了默認(rèn)值了,就不可能再缺省了,所以這條不執(zhí)行。 ABC(3) 沒有給b,就默認(rèn)b是5 ABC(10, 2) 給了b的值,就不用b的默認(rèn)值了,用2. 5. Private Function ABC(A As Integer) Static K As Integer K = K + A ABC = K End Function Private Sub Command1_Click() Dim I As Integer, S As Integer For I = 1 To 5 S = S + ABC(I) Next Print S End Sub 靜態(tài)局部變量可以保留上次函數(shù)調(diào)用的值。 (35)1+1+2+1+2+3+1+2+3+4+1+2+3+4+5=35 四. 程序填空(30分) 1. 下面函數(shù)的功能是隨機(jī)產(chǎn)生一個(gè)字母(大小寫都可能),并返回該字母,閱讀并理解程序,填寫缺失的代碼。 Private Function zm() As String Randomize Dim k As Integer Do 【 k=int(rnd*58+65) 】這個(gè)的意思是要產(chǎn)生一個(gè)65到122的隨機(jī)數(shù) Loop【 until 】Not (k < 97 And k > 90) 這個(gè)的意思是大小寫字母之間的其他 如果是while, 就不要那個(gè)not 【 zm 】= Chr(k) End Function 2. 有下面界面(圖1)用于學(xué)習(xí)標(biāo)兵的評(píng)選,選擇合適的人選后(必須選擇5人)按提交按鈕(Commadn1)把本次的選擇結(jié)果寫到文件a.txt中(a.txt中將記錄所有的評(píng)選結(jié)果,如圖2所示)。程序控制人數(shù)的多選,但少選按提交按鈕時(shí)程序給予提示。當(dāng)一個(gè)選民提交選擇后,程序?qū)⑶宄羞x擇以備下一個(gè)選民選擇。請(qǐng)?zhí)顚懭笔У拇a 圖1 圖2 Option Explicit Dim k As Integer Private Sub C_Click(Index As Integer) If C(Index).Value = 1 Then 【 k=k+1 】 Else k = k - 1 End If If k > 5 Then【 C(Index).Value = 0 】 End Sub Private Sub Command1_Click() If k = 5 Then Dim s As String Dim i As Integer For i = 0 To C.UBound If 【 C(i).Value = 1 】Then s = s & C(i).Caption & " " End If Next i For i = 0 To C.UBound If C(i).Value = 1 Then C(i).Value = 0 End If Next i Open "d:\a.txt" For 【 append 】As #1 這個(gè)是追加,output是會(huì)重寫的 Print #1, s Close Else MsgBox "人員選少了,請(qǐng)繼續(xù)選擇!", vbExclamation End If End Sub 3. 下面是繪圖程序,模仿系統(tǒng)附件中的“畫圖”程序(程序設(shè)計(jì)界面如圖3)。當(dāng)單擊t(0)后,按住鼠標(biāo)左鍵可以實(shí)現(xiàn)徒手寫的功能;當(dāng)單擊t(1)后,按住鼠標(biāo)左鍵可以畫直線;當(dāng)單擊t(2)后,按住鼠標(biāo)左鍵可以擦除鼠標(biāo)移動(dòng)區(qū)域內(nèi)的圖形;當(dāng)單擊t(3)后,按住鼠標(biāo)左鍵可以畫圓,圓心為鼠標(biāo)移動(dòng)距離的中心點(diǎn),半徑為該距離長(zhǎng)度的一半;如圖4所示。當(dāng)單擊保存按鈕(Command1)時(shí),彈出對(duì)話框如圖5并保存繪制的圖形;單擊退出按鈕(Command2)時(shí),卸載窗口,結(jié)束程序運(yùn)行。 根據(jù)上述功能填寫缺失代碼 圖3 圖4 圖5 根據(jù)程序的運(yùn)行特征可以判斷T數(shù)組中的控件是【 opptionbutton 】控件 Option Explicit Dim ts As String Dim xx As Single, yy As Single Private Sub Command1_Click() C.ShowSave SavePicture P.Image, 【 C.filename 】 End Sub Private Sub Command2_Click() Unload Me End Sub Private Sub Form_Load() P.AutoRedraw = True t(0).Value = True ts = "筆" End Sub Private Sub P_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) If Button = 1 Then Select Case ts Case "筆" P.CurrentX = X P.CurrentY = Y Case "直線" 【 xx=X:yy=Y 】 Case "圓" xx = X: yy = Y Case "橡皮" P.Line (X - 40, Y - 40)-(X + 40, Y + 40), P.BackColor, BF End Select End If End Sub Private Sub P_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) If Button = 1 Then Select Case ts Case "筆" 【 P.pset (x,y) 】 Case "橡皮" P.Line (X - 40, Y - 40)-(X + 40, Y + 40), P.BackColor, BF End Select End If End Sub Private Sub P_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single) If Button = 1 Then Select Case ts Case "直線" 【 P.line (xx,yy)-(x,y) 】 Case "圓" Dim xc As Single, yc As Single, r As Single xc = (xx + X) / 2 yc = (yy + Y) / 2 【 r 】 = Sqr((X - xx) ^ 2 + (Y - yy) ^ 2) / 2 【 P.circle (xc,yc), r 】 End Select End If End Sub Private Sub t_Click(I As Integer) 【 Case i 】 Case 0 ts = "筆" Case 1 ts = "直線" Case 2 ts = "橡皮" Case 3 ts = "圓" End Select End Sub 五. 程序設(shè)計(jì)(10分) 1. 編寫一段代碼將D:\a.exe文件拷貝到E盤,并改名為b.exe。(5分) Private Sub Command1_Click() Open “D:\a.exe” For Binary as #1 Open “E:\b.exe” Binary as #2 Dim i as long Dim b as byte For i=1To LOF(1) Get=1, ,b Put=2, ,b Next Close MsgBox ”文件復(fù)制完成”,vbinformation End Sub 2. 編寫一個(gè)cal函數(shù),該函數(shù)接受兩個(gè)數(shù)和一個(gè)運(yùn)算符,根據(jù)運(yùn)算符對(duì)兩個(gè)數(shù)進(jìn)行四則運(yùn)算,返回運(yùn)算結(jié)果。(5分) Function cal(x as single, s as string,y as single) as single Dim t as single Select Case s Case ”+” t=x+y Case “-” t=x-y Case “*” t=x*y Case “/” t=x/y End Select Cal=t End function 注意:所有答案答在答題紙上,寫在試卷上將不得分 考試完畢后,請(qǐng)將試卷和答題紙分開上交 《VB程序設(shè)計(jì)》考試試卷(A)答題紙 院系 學(xué)號(hào) 姓名 得分 一.判斷題(正確劃√,錯(cuò)誤劃)(10分) 題號(hào) 1 2 3 4 5 6 7 8 9 10 答案 二.單項(xiàng)選擇填空題(共40分) 題號(hào) 1 2 3 4 5 6 7 8 9 10 答案 題號(hào) 11 12 13 14 15 16 17 18 19 20 答案 三.閱讀下面程序,寫出單擊Command1后的程序運(yùn)行結(jié)果(10分) 題號(hào) 答案 題號(hào) 答案 1 4 2 5 3 四.程序填空(30分) 題號(hào) 答案 題號(hào) 答案 1 9 2 10 3 11 4 12 5 13 6 14 7 15 8 五.程序設(shè)計(jì)(10分)(請(qǐng)寫清題號(hào)) 第17共17頁- 1.請(qǐng)仔細(xì)閱讀文檔,確保文檔完整性,對(duì)于不預(yù)覽、不比對(duì)內(nèi)容而直接下載帶來的問題本站不予受理。
- 2.下載的文檔,不會(huì)出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預(yù)覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請(qǐng)點(diǎn)此認(rèn)領(lǐng)!既往收益都?xì)w您。
下載文檔到電腦,查找使用更方便
5 積分
下載 |
- 配套講稿:
如PPT文件的首頁顯示word圖標(biāo),表示該P(yáng)PT已包含配套word講稿。雙擊word圖標(biāo)可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國(guó)旗、國(guó)徽等圖片,僅作為作品整體效果示例展示,禁止商用。設(shè)計(jì)者僅對(duì)作品中獨(dú)創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- 中國(guó)地質(zhì)大學(xué) 北京 研究生 VB 期末試卷 答案 詳解 拓展
鏈接地址:http://www.3dchina-expo.com/p-12769094.html