vb上機09秋季試題1 |
二級Visual Basic上機試卷 (本試卷完成時間為70分鐘) 考試說明: 1.改錯題的界面不作要求,主要用來調試程序,若題目中有參考界面,則僅作參考; 2.考試結束后,文件必須存放在指定位置,否則適當扣分;考試盤中若無指定文件,j 予評分; 3.程序代碼書寫應呈鋸齒形。 一、改錯題(14分) 【題目】 本程序的功能是,將24位真彩色圖像的一個像素的顏色值,轉換成用十進制表示的 綠、藍三基色的亮度值。
Option Explicit Option Base 1 Private Sub Command1_Click() Dim st As String,C(3) as String*8 Dim k As Integer,color(3) As String color(1)="紅色" color(2)="綠色" color(3)="藍色" st=text1 Do k=k+1 c(k)=Left(st,8) st=Right(st,Len(st)-8) Loop Until k>3 For k=1 To 3 Text2=Text2 & color(k) &":" & b2d(C) & vbCrLf Next k End Sub Private Function b2d(s As String) As Integer Dim k As Integer Do b2d=b2d+Val(Right(s,1))*2^k s=Left(s,Len(s)-1) k=K+1 Loop Until k=Len(s) End Function 【要求】 1.新建工程,輸入上述代碼,改正程序中的錯誤; 2.改錯時,不得增加或刪除語句,但可適當調整語句位置; 3.將窗體文件和工程文件分別命名為F1和P1,并保存到T:盤的根目錄下。 二、編程題(26分) . 【題目】 編寫程序,隨機生成m行n列由1位非零整數組成的數組;并分別求出數組中所有周邊 元素之和與非周邊元素(內部)之和。(m、n由InputBox函數輸入,缺省值分別為4、5) 【編程要求】 1.程序參考界面如圖所示,編程時不得增加或減少界面對象或改變對象的種類,窗體及 界面元素大小適中,且均可見; 2.運行程序,按"運行"按鈕,出現如圖的InputBox函數窗口,分別輸入數組行、列數(或 使用缺省值)后按"確定",則生成隨機數組并顯示在圖片框中,并在文本框1與2中分別輸出 數組周邊元素之和與非周邊元素(內部)之和;按"清除"按鈕,將所有文本框和圖片框清空;按 "結束"按鈕,結束程序運行; 3.程序中應定義一個通用過程,用于求二維數組的周邊元素之和與非周邊元素之和。 【要求】 將窗體文件和工程文件分別命名為砣和P2,并保存到T:盤的根目錄下 參考答案 . 一、改錯題 (1)Loop Until k>3 改為Loop Until k=3 (2)Text2=Text2 & color(k) & ":" & b2b(c) & vbCrLf 改為Text2=Text2 & color(k) & ":" & b2b(c(k)) & vbCrLf (3)Loop Until k=len(s) 改為Loop Until s=""或改為Loop Until Len(s)=0 二:編程題 Option Explicit Option Base 1 Dim a() As Integer, n As Integer, m As Integer Private Sub Command1_Click() Dim i As Integer, j As Integer Dim ext As Integer, ins As Integer n = InputBox("數組行數m:", "數組處理", 4) m = InputBox("數組列數n:", "數組處理", 5) ReDim a(n, m) For i = 1 To n For j = 1 To m a(i, j) = Int(Rnd * 9) + 1 Picture1.Print a(i, j); Next j Picture1.Print Next i Call comput(ext, ins) Text1 = ext Text2 = ins End Sub Private Sub comput(ext As Integer, ins As Integer) Dim i As Integer, j As Integer For i = 1 To n For j = 1 To m If i = 1 Or j = 1 Or i = n Or j = m Then ext = ext + a(i, j) Else ins = ins + a(i, j) End If Next j Next i End Sub Private Sub Command2_Click() Picture1.Cls Text1 = "": Text2 = "" End Sub Private Sub Command3_Click() End End Sub |