第二部分 Visual Basic 程序设计
一、选择题(用答题卡答题,答案依次填在21-30答题号内)
21.在VB中,下列关于控件的属性或方法中,搭配错误的有(21)个。
1)Timer1.Interval 2)List1.Cls 3) Text1.Print
4)List1.RemoveTtem 5)Vscroll1.Value 6)Picture1.Print
A. 0 B . 1
C. 2
D. 3
22.下面所列的控件中,其值既能在程序设计时设定,又能在程序运行时通过赋值改变的是(22)。
A.List1.ListCount B.Text1.Index C. Dir1.Path
D.Label1.Visible
23.下面(23)语句,可以将列表框List1中的当前选定的列表项的值替换成”ABC”.
A.List1.AddItem”ABC’,List1.ListIndex B.List.Text=”ABC”
C.List1.List(List.ListIndex)=”ABC”
D.前三项均可
24.函数CInt(-3.5),Int(-3.5),Fix(-3.5)的值分别是(24)。
A.-3 ,-4 , -3
B.-4 , -4 ,-3
C.-3 , -4 , -4 D.-4, -3 , -3
25.设整形变量a、b 的当前取值分别为200与20,以下赋值与句中不能正确执行的是(25)。
A. Text1=a/b*a
B. Text1 = a*a/b
C. Text1 = “200”*a/b D. Text1 = A & b & a
26.对正实数X 的第四位小数四舍五入的VB表达式是(26)。
A.0.001*Int(x+0.005) B.0.001*(1000*x+0.5)
C.0.001*Int(1000*x+5)
D.0.001*Int(1000*(x+0.0005))
27.下列有关数组的说法中,不正确的是(27)。
A.在窗体模块中不可以定义全局数组
B. 可以使用Erase语句释放所有数组所占据的存储空间
C. 语句Dim X(3.6+2)As Integer定义了一个维上界是6的一维德整形数组
D. 形参数组的类型可以是定长字符串类型
28.根据控件有下列(28)属性,就能判断该控件是否可以和数据控件绑定。
1) RecordSource 2)DataSource 3)DataField 4)DatabaseName
A. 1) 3)
B. 2) 3)
C. 3) 4) D. 1) 4)
29.窗体上放置有名为Drive1与Dir1的驱动器列表框与文件夹列表框,需要在选定驱动器列表框中的列表项时,文件夹列表框中的内容随之改变,正确的语句及语句的位置是(29)。
A.Dir1.Path = Drive1.Path ‘位于Drive1_Change()过程
B. Dir1.Path = Drive1.Path ‘位于Dir1_Change()过程
C. Dir1.Path = Drive1.Drive ‘位于Drive1_Change()过程
D. Dir1.Path = Drive1.Drive ‘位于Dir1_Change()过程
30.执行下面的程序段,结果是(30)。
X = Width/2:Y = Height/2
Picture1.Line(X,Y)-(X,Y -2000)
Picture1.Line(X,Y + 2000)-(X,Y)
Picture1.Line – (X – 2000,Y)
A. 在图片框中画形如┫的交叉直线
B. 在图片框中画形如┣的交叉直线
C. 在图片框中画形如┳的交叉直线
D. 在图片框中画形如┻的交叉直线
二、填空题(请将答案填写在答题纸的相应答题号内,每个答案只占一行)
1.执行Command1_Click实践过程后,显示在窗体上的第一行内容是
CUPMOT
,第二行内容是
COPMUT
,第三行内容是
COMPUT
。
Private Sub Command1_Click()
Dim i As Integer, s As String, k As Integer
s = "TUPMOC": k = Len(s)
For i = 1 To k / 2
Mid(s, i, k - 2 * (i–1)) = Mid(s, k + 1 - i, 1) & Mid(s, i + 1, k - 2 * i) & Mid(s, i, 1)
Print s
Next i
End Sub
2.运行下面的程序,当单击窗体时,窗体上第一行内容是
10 6
,第三行内容是
5 4
,第四行内容是
10 -6
。
Dim x As Integer, y As Integer
Private Sub Form_Click()
Dim A As Integer, B As Integer
A = 5: B = 3
Call Sub1(A, B)
Print A, B
Print x, y
End Sub
Private Sub Sub1(ByVal M As Integer, N As Integer)
Dim x As Integer, y As Integer
x = M + N: y = M - N
M = fun1(x, y)
N = fun1(y, x)
End Sub
Private Function fun1(A As Integer, B As Integer) As Integer
x = A + B: y = A - B
Print x, y
fun1 = x + y
End Function
3.执行Command1_Click事件过程时,共输出
四
行数据,其中第三行输出结果为
2 13
。
Private Sub Command1_Click()
dunno 3
End Sub
Public Function dunno(M As Integer) As Integer
Dim value As Integer
If M = 0 Then
value = 3
Else
value = dunno(M - 1) + 5
End If
dunno = value
Print M, value
End Function
4.执行下面程序,单击命令按钮 Command1 后,窗体上显示的第一行内容是
16 6 10
,第二行内容是
40 12 28
, 最后一行内容是
56
.
Private Sub Command1_Click()
Dim A As Integer, B As Integer, K As Integer
A = 2: B = 4
K = Fun((A), B) + Fun(A, B)
Print K
End Sub
Private Function Fun(N As Integer, M As Integer) As Integer
Static K As Integer
N = N + M
K = K + N
M = M + K
Fun = N + M
Print Fun; N; M
End Function
5.执行下面程序,单击命令按钮Command1 后,A(1,3)值是
19
,A(2,2)值是
15
,A(3,2)值是
14
。
Private Sub Command1_Click()
Dim I As Integer, J As Integer, K As Integer
Dim A(1 To 3, 1 To 3) As Integer, N As Integer
N = 3
For I = 1 To 3
For J = 1 To 3
K = K + 1
A(I, J) = K + 10
Print A(I, J); "*"
Next J
Next I
Call Sub1(A, N)
End Sub
Private Sub Sub1(A() As Integer, N As Integer)
Dim I As Integer, J As Integer, T As Integer, K As Integer
K = N + 1
For I = Int(N / 2) To 1 Step -1
For J = N–I To I Step -1
T = A(K–J, I)
A(K–J, I) = A(I, J)
A(I, J) = A(J, K - 1)
A(J, K - 1) = A(K–I, N + 1 - J)
A(K - I, N + 1 - J) = T
Next J
Next I
End Sub
6.下面程序是求出所有的幸运数显示在列表框中,并将幸运数的个数显示到文本框中。凡前两位数字之和等于后两位数字之和的思维书称为幸运数。
Private Sub Command1_Click()
Dim i As Integer, N As Integer, n1 As Integer, n2 As Integer
For i = 1000 To 9999
n1 = i \ 100
n2 = i Mod 100
If sum(n1) = sum(n2) Then
N = N + 1
List1.AddItem CStr(i)
End If
Next i
Text1 = N
End Sub
Private Function sum(s As Integer) As Integer
Dim p As Integer, Q As Integer
p = s \ 10
Q = s Mod 10
sum = p + Q
End Function
7. 若一个等比数列的首项为2,公比为3,其第n项到第m 项之和为720。下面是求出符合上述要求的n 和m 的程序。
Private Sub Command1_Click()
Dim Num() As Integer, Q As Integer, A As Integer
Dim i As Integer, N As Integer, M As Integer
Const k As Integer = 720
ReDim Num(1)
A = 2: Q = 3
Num(1) = A
i = 1
Do
A = A * Q
i = i + 1
ReDim Preserve Num(i)
Num(i) = A
Loop Until Num(i) >= 720
Call Sum1(Num, N, M, k)
Label1 = "第" + Str(N) & "项~第" & Str(M) & " 项的和是720"
End Sub
Private Sub Sum1(Num() As Integer, N As Integer, M As Integer, ByVal k As Integer)
Dim Ub As Integer, s As Integer, i As Integer, Idx As Integer
Ub = UBound(Num)
For i = 1 To Ub
s = 0
N = i
Idx = i
Do Until s >= k
s = s + Num(Idx)
Idx = Idx + 1
Loop
If s = k Then
M = Idx–1
Exit For
End If
Next i
End Sub
8. 以下是一个加密程序,其中r1与r2是两个密钥表,分别对应字母a~z及空格。加密方法是从原文的字符串中取一个字符,再根据该字符在原文中的排位次序是奇数还是偶数,分别从r1或r2密钥表中查出相应的替代字符。如原文为“meet me at sunset”,其首字符为m,排位为1,则使用密钥表r1,由于在字母表中m为第13个字符,而r1中对应字符为t,故将m替换成t。其余类推。原文中如包含大写字母,则应先全部转换为小写字母。
Const r1 As String * 27 = "qazwsxedcrfvtgbyhnujm ikolp"
Const r2 As String * 27 = "poi uytrewqasdfghjklmnbvcxz"
Private Sub Command1_Click()
Dim I As Integer, code As String, s As String * 1
Dim N As Integer, decode As String
code =
Text1.Text
For I = 1 To Len(code)
s = Mid(code, I, 1)
If s <> " " Then
N = Asc(s) - 96
If I Mod 2 <> 0 Then
decode = decode & Mid(r1, N, 1)
Else
decode = decode & Mid(r2, N, 1)
End If
Else
If I Mod 2 <> 0 Then
decode = decode & Mid(r1, 27, 1)
Else
decode = decode & Mid(r2, 27, 1)
End If
End If
Next I
Text2 = decode
End Sub
9. 下面程序的功能是通过键盘输入一个正整数 N ,找出所有分母为N ,找出所有分母为 N ,且数值介于 1/3 和1/4 之间的最简分数 (即分子、分母除1外无公因子)。
Private Sub Command1_Click()
Dim i As Integer, J As Integer
Dim N As Integer, Flag As Boolean
N = Val(InputBox("输入分母 N :", , 11))
For i = 1 To N - 1
Flag = False
Call Sub1(i, N, Flag)
If
Flag
Then
Print CStr(i); "/"; CStr(N)
End If
Next i
End Sub
Private Sub Sub1(k As Integer, N As Integer, F As Boolean)
Dim i As Integer
If
k / N > 1 / 4 And k / N < 1 / 3
Then
For i = 2 To k
If
N Mod i = 0 And k Mod i = 0
Then
Exit Sub
End If
Next i
F = True
End If
End Sub
posted on 2006-10-21 08:54
木子李 阅读(768)
评论(0) 编辑 收藏 引用 网摘 所属分类:
Visual Basic 课堂