中國地質(zhì)大學(xué)北京秋研究生VB期末試卷及答案詳解與拓展.docx
《中國地質(zhì)大學(xué)北京秋研究生VB期末試卷及答案詳解與拓展.docx》由會員分享,可在線閱讀,更多相關(guān)《中國地質(zhì)大學(xué)北京秋研究生VB期末試卷及答案詳解與拓展.docx(17頁珍藏版)》請在裝配圖網(wǎng)上搜索。
中國地質(zhì)大學(xué)(北京)研究生試卷(A) 2015秋季學(xué)期 課程號:SG04002 《VB程序設(shè)計》考試試卷(A) 考試形式:閉卷考試 考試時間:120分鐘 所有答案答在答題紙上 院系 學(xué)號 姓名 得分 題號 一 二 三 四 五 總分 一. 判斷題(正確劃√,錯誤劃)(10分) 1. 事件的編程可以在代碼設(shè)計窗口中進(jìn)行,系統(tǒng)為不同對象提供了不同的事件集。事件是對象特有的,不能主觀臆造 (事件不是對象特有的,方法是對象所特有的) 2. 即使單選按鈕控件數(shù)組中的元素分屬在多個容器中也只能從中選擇一個控件 3. 過程和函數(shù)的區(qū)別在于有無返回值 √ 4. 只要把Image控件的Stretch屬性設(shè)置為 True,控件會自動調(diào)整大小以適應(yīng)所裝載的圖片的大?。ㄕf反了,應(yīng)該是圖片適應(yīng)控件的大?。? 5. Left(Val("1234ab"), 2)的結(jié)果是”12” √ Val 返回的是數(shù),把1234給left, 但是left 返回是串,取串里的兩個字符12,所以結(jié)果是12這個串,要加雙引號。 6. 列表框控件的Style屬性為1(Checkbox)時,MultiSelect屬性必須為0(None)√ Style 只有0和1,0是標(biāo)準(zhǔn)的,1是復(fù)選checkbox,組合框是三個值0,1,2 7. 沒有通用對話框控件文件就沒辦法讀寫 對話框不負(fù)責(zé)文件的讀寫,只負(fù)責(zé)傳串,文件讀寫由讀寫語句進(jìn)行。讀圖形文件是函數(shù)完成的,load picture, 寫圖形文件是save picture. 8. 通過PaintPicture方法可以對圖片進(jìn)行縮放和裁剪等變換 √ 還可以翻轉(zhuǎn) 9. Do~loop while和Do while ~loop 在循環(huán)條件為True時循環(huán)結(jié)果一樣 √ 當(dāng)循環(huán)條件為false時不一樣 10. 只有頂級菜單和二級菜單才能調(diào)用窗體的PopupMenu方法制作彈出式菜單 只有父菜單才能備調(diào)用 二. 單項選擇填空題(共40分) 1. 有value屬性的控件是【 D 】 A. TextBox B.ListBox C.ComboBox D.ScrollBar 有value屬性的有三個控件: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 [<對象名>.]Circle [Step](x, y),<半徑>,[<顏色>], , ,<邊比率> 縱比橫 中間缺3個參數(shù),顏色,起和止幅度,用四個逗號分隔 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ù)組的名字【 B 】 A.1abc B.a(chǎn)bc1 C.a(chǎn)b(c1) D.a(chǎn).bc1 標(biāo)識符命名規(guī)則:以字母和漢字開頭,不能和已有函數(shù)重名,標(biāo)識符由字母、數(shù)字和下劃線組成。 7. 下列對象中沒有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 】對象擁有AutoRedraw屬性 A.PictureBox和窗體 B.Frame和窗體 C.PictureBox和Frame D.PictureBox和Image AutoRedraw是存儲動態(tài)輸出信息的,在窗體重繪時還拿出來描繪的窗體,就要把a(bǔ)utoredraw置為true. 窗體最小化后展開,窗體被其他窗體覆蓋,窗體由小變大的時候。窗體和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 容器有四個,窗體的容器MDI,SDI窗體,frame控件,picturebox. 13. 動態(tài)數(shù)組重定義應(yīng)使用【 D 】關(guān)鍵字 A. Dim B.Preserve C.Type D.ReDim Dim 可以定義窗體級變量,也可以定義局部變量,窗體級在通用段定義,局部在函數(shù)和過程內(nèi)定義。靜態(tài)局部變量可以保留上次函數(shù)調(diào)用的值。 14. 下列對象中擁有KeyPreview屬性是【 B 】 A. MDI Form B. SDI Form C.ComboBox D. ListBox 15. 可以刪除列表框所有列表條目的方法是【 A 】 A. Clear B.RemoveItem C.Additem D.Cls Cls是清屏 16. 可以向列表框添加列表條目的方法是【 C 】 A.Clear B.RemoveItem C. Additem D.Cls 17. 下列【 B 】語句可以讓T控件1秒中自動激發(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. 窗體第一個和最后一個發(fā)生的事件是【 A 】 A.Initialize和 Terminate B.Terminate和Initialize C.Load 和Unload D.Unload和Load 21. 若要處理程序運(yùn)行過程中的錯誤應(yīng)使用【 C 】語句先捕獲錯誤 A.On Error GoTo 0 B.On Error Resume Next C.On Error GoTo 語句行號 D.Resume Next 捕獲的時候有三種情況:On Error GoTo 0 :系統(tǒng)處理錯誤的方法 On Error Resume Next :忽略錯誤 On Error GoTo 語句行號 正確的處理方式 三種錯誤:語法錯誤,邏輯錯誤,運(yùn)行錯誤 恢復(fù)錯誤:Resume Next,Resume 行號,Resume 0(從錯誤行開始執(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)先級比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 這個是求平均值 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)生一個字母(大小寫都可能),并返回該字母,閱讀并理解程序,填寫缺失的代碼。 Private Function zm() As String Randomize Dim k As Integer Do 【 k=int(rnd*58+65) 】這個的意思是要產(chǎn)生一個65到122的隨機(jī)數(shù) Loop【 until 】Not (k < 97 And k > 90) 這個的意思是大小寫字母之間的其他 如果是while, 就不要那個not 【 zm 】= Chr(k) End Function 2. 有下面界面(圖1)用于學(xué)習(xí)標(biāo)兵的評選,選擇合適的人選后(必須選擇5人)按提交按鈕(Commadn1)把本次的選擇結(jié)果寫到文件a.txt中(a.txt中將記錄所有的評選結(jié)果,如圖2所示)。程序控制人數(shù)的多選,但少選按提交按鈕時程序給予提示。當(dāng)一個選民提交選擇后,程序?qū)⑶宄羞x擇以備下一個選民選擇。請?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 這個是追加,output是會重寫的 Print #1, s Close Else MsgBox "人員選少了,請繼續(xù)選擇!", vbExclamation End If End Sub 3. 下面是繪圖程序,模仿系統(tǒng)附件中的“畫圖”程序(程序設(shè)計界面如圖3)。當(dāng)單擊t(0)后,按住鼠標(biāo)左鍵可以實現(xiàn)徒手寫的功能;當(dāng)單擊t(1)后,按住鼠標(biāo)左鍵可以畫直線;當(dāng)單擊t(2)后,按住鼠標(biāo)左鍵可以擦除鼠標(biāo)移動區(qū)域內(nèi)的圖形;當(dāng)單擊t(3)后,按住鼠標(biāo)左鍵可以畫圓,圓心為鼠標(biāo)移動距離的中心點,半徑為該距離長度的一半;如圖4所示。當(dāng)單擊保存按鈕(Command1)時,彈出對話框如圖5并保存繪制的圖形;單擊退出按鈕(Command2)時,卸載窗口,結(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è)計(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. 編寫一個cal函數(shù),該函數(shù)接受兩個數(shù)和一個運(yùn)算符,根據(jù)運(yùn)算符對兩個數(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 注意:所有答案答在答題紙上,寫在試卷上將不得分 考試完畢后,請將試卷和答題紙分開上交 《VB程序設(shè)計》考試試卷(A)答題紙 院系 學(xué)號 姓名 得分 一.判斷題(正確劃√,錯誤劃)(10分) 題號 1 2 3 4 5 6 7 8 9 10 答案 二.單項選擇填空題(共40分) 題號 1 2 3 4 5 6 7 8 9 10 答案 題號 11 12 13 14 15 16 17 18 19 20 答案 三.閱讀下面程序,寫出單擊Command1后的程序運(yùn)行結(jié)果(10分) 題號 答案 題號 答案 1 4 2 5 3 四.程序填空(30分) 題號 答案 題號 答案 1 9 2 10 3 11 4 12 5 13 6 14 7 15 8 五.程序設(shè)計(10分)(請寫清題號) 第17共17頁- 1.請仔細(xì)閱讀文檔,確保文檔完整性,對于不預(yù)覽、不比對內(nèi)容而直接下載帶來的問題本站不予受理。
- 2.下載的文檔,不會出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預(yù)覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請點此認(rèn)領(lǐng)!既往收益都?xì)w您。
下載文檔到電腦,查找使用更方便
5 積分
下載 |
- 配套講稿:
如PPT文件的首頁顯示word圖標(biāo),表示該P(yáng)PT已包含配套word講稿。雙擊word圖標(biāo)可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國旗、國徽等圖片,僅作為作品整體效果示例展示,禁止商用。設(shè)計者僅對作品中獨(dú)創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- 中國地質(zhì)大學(xué) 北京 研究生 VB 期末試卷 答案 詳解 拓展
鏈接地址:http://m.appdesigncorp.com/p-12769094.html