当前位置:首页 > VB程序习题集(新版)
Private Sub Command 1_Click(Index As Integer) Lsbe15.Caption=__(1)__ Select Case __(2)__ Case 0 ‘计算最高分 y=Val(Text1(0).Text) For i=1 To 3
If __(3)__Then y=Val(Text1(i).Text) Next i
Case 1 ‘计算最低分 y=Val(Text1(0).Text) For i=1 To 3
If __(4)__Then y=Val(Text1(i).Text) Next i
Case2 ‘计算平均分 Y=0
For i=0 To 3 y=y+__(5)__ Next i y=__(6)__
Case3 ‘计算总分 y=0
For i=0 To 3 y=__(7)__ Next i End Select
Text2.Text=__(8)__ End Sub
6.找鞍点,设计界面如图8-6所示,界面上包含6行6列一共36个文本框,组成文本框数组Text1(0)~Text1(35)。第一行为Text1(0)~Text1(15),第二行为xt1(6)~Text1(11)??.以下程序用于找出这6行6列数组中的“鞍点”。所谓“鞍点”是指它在本行中值最大,在本列中值最小,也可能没有鞍点。程序设计思路为:先将文本框的内容存于一个二维数组a中;再找出a的每一行的最大元素,如第i行的最大元素big=a(i,col);然后检查该最大元素big在第col列是否为最小元素。先设flag为1,如果该列上有一个小值比big小,则将flag的值设置为0,最后,如果flag保持1,则说明big在本列上为最小值,即为”鞍点”,这时在界面上将此“鞍点”显示为红色。只要找到一个“鞍点”则将变量find设置为1(设初值为0),最后,如果find说仍为0,表示没有”鞍点”. Private Sub Form_Colick() Dim a(1 To 6,1 To 6) For i=1 To 6 For j=1 To 6
a(i,j)=Val(Text1(i-1)*6+j-1).Text)
28
Next j Next i find=0
For i=1 To 6 big=a(i,1) col=__(1)__ For j=1 To 6
If big<__(2)__Then big=a(i,j) col=__(3)__ End If Next j flag=1
For k=1 To 6
If big>a(__(4)__)Then flag=0 Exit For End If Next k
If flag=1 Then
Text1(__(5)__).ForeColor=vbRed find=1 End If Next i
If__(6)__Then MsgBox “无鞍点” End Sub
练习8 过程
一、选择题
1.下面的过程定义语句中合法的是()。
(A)Sub Proc1(ByVal n() ) (B) Sub Proc1(n) As Integer (C) Function Proc1(Proc1) (D)Function Proc1( ByVal n ) 2.要想在过程调用后返回两个结果,下面的过程定义语句合法的是() (A)Sub Proc1(ByVal n , ByVal m ) (B) Sub Proc1( n, ByVal m ) (C) Sub Proc1(n , m ) (D) Sub Proc1(ByVal n , m ) 3.Sub 过程与Function 过程最根本的区别是( )
(A)Sub 过程可以使用Call语句或直接使用过程名调用,而 Function 过程不可以(B)Function过程可以有参数,Sub过程不可以 (C)两种过程参数的传递方式不同
(D)Sub过程的过程名不能返回值,而Function过程能通过过程名返回值 4.在过程调用中,参数的传递可以分为( )和( )两种方式 (A)按值传递 (B) 按地址传递 (C) 按参数传递 (D) 按位置传递
29
5 . 在参数传递过程中,使用关键字( )来修饰参数,可以使之按值传递。 (A)By Val (B)ByRef (C)Value (D)Reference
6.执行“工程”菜单中的( )命令,可以添加一个标准模块。 (A)添加过程(B) 通用过程(C)添加窗体(D)添加模块
7.假定已定义了一个过程Sub Add(a As Single,b As Single),则正确的调用语句是( )。
(A) Add 12, 12 (B)Call Add 2*x, Sin(1.57) (C) Call Add x, y (D)Call Add (12,12,x)
8.在窗体模块的通用声明段中声明变量时,不能使用( )关键字。 (A) Dim (B) Public (C) Private (D) Static
9.使用Public Const语句声明一个全局的符号常量时,该语句应放在()。 (A) 过程中 (B) 窗体模块的通用声明段
(C) 标准模块的通用声明段(D) 窗体模块或标准模块的通用声明段
二.判断程序或程序段的执行结果
1.单击命令执行按钮时,下列程序代码的执行结果为() Public Sub Proc1(n As Integer, ByVal m As Integer) n=n Mod 10 m=m\\10 End Sub
Private Sub Command1_Click() Dim x As Integer , y As Integer x=12:y=34
Call Proc1 (x,y) Print x; y End Sub
(A)12 34 (B )2 34 (C) 2 3 (D) 12 3
2.单击一次命令按钮之后,下列程序代码的执行结果为( )。如果去掉Static SUM 语句,则单击一次命令按钮的执行结果为( )。 Private Sub Command1_Click() S =P(1)+ P(2 )+ P(3) + P(4) Print S; End Sub
Private Function P(N As Integer ) Static SUM For I=1 to N SUM =SUM +I Next I P=SUM
End Function
(A) 20 (B) 35 (C) 115 (D) 135
3.单击命令按钮时,下列程序代码的执行结果为( )。
Private Function FirProc(x As Integer ,y As Integer ,z As Integer ) FirProc =2*x+y+3*z
30
End Function
Private Function SecProc(x As Integer ,y As Integer ,z As Integer ) SecProc =FirProc(z,x,y)+x End Function
Private Sub Command1_Click()
Dim a As Integer ,b As Integer,c As Integer a=2:b=3:c=4
Print SecProc(c,b,a) End Sub
(A) 21 (B) 19 (C) 17 (D) 34
4. 单击窗体时,下列程序代码的执行结果为()。
Private Sub Invert(ByVal xStr As String , yStr As String ) Dim tempStr As String Dim i As Integer i=Len(xStr) Do While i >= 1
tempStr =tempStr +Mid (xStr ,i , 1) i=i-1 Loop
yStr =tempStr End Sub
Private Sub Form_Click()
Dim s1 As String , s2 As String s1=”abcdef” Invert s1, s2 Print s2 End Sub
(A) abcdef (B) afbecd (C) fedcba (D) defabc 5. 单击窗体时,下列程序代码的执行结果为()。
Private Sub Value(ByVal m As Integer , ByVal n As Integer) m=m*2:n=n-5 Print m;n End Sub
Private Sub Form_Click()
Dim x As Integer,y As Integer x=10:y=15
Call Value(x,y) Printe x;y End Sub
如果删去Value过程形参表中的ByVal关键字,那么单击窗体时,程序代码的执行结果为()。 (A)20 10 (B) 10 15 (C) 20 15 (D) 20 10 10 15 20 10 10 15 20 10 6.单击窗体时,下列程序代码的执行结果为() Private Sub Form_Click()
Dim x As Integer, y As Integer, z As Integer
31
共分享92篇相关文档