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 |