2008年春浙江省高等学校
计算机等级考试试卷(二级Visual Basic)
说明:⑴考生应将所有试题的答案填写在答卷上。其中试题1~试题6,请在答卷上各小题正确选项的对应位置处填“√”;
⑵请将你的准考证号的后五位填写在答卷右下角的指定位置内;
⑶考试时间为90分钟;
试题1(每小题3分,共12分)
阅读下列程序说明和程序,在每小题提供的若干可选答案中,挑选一个正确答案。
【程序说明】单击Command1后用输入对话框输入1个整数,单击Command2后在Text1中显示其反序的数(高位变低位)。要求在文本框中不可输入任何字符。
例如:输入123显示321,输入-567显示-765。
【程序】
(1)
Private Sub Form_Load()
(2)
End Sub
Private Sub Command1_Click()
Text1.Text = "": n = InputBox("n=")
End Sub
Private Sub Command2_Click()
If n < 0 Then n = -n: Text1.Text = "-"
While n <> 0
Text1.Text = (3)
(4)
Wend
End Sub
【供选择的答案】
(1) A、Dim n As Byte B、Dim n As Integer
C、Dim n As String
D、Public n As Byte
(2) A、Text1.Locked = True B、Text1.Locked = False
C、Text1.Visible = True
D、Text1.Visible = False
(3) A、n/10 & Text1.Text B、n Mod 10 & Text1.Text
C、Text1.Text & n/10
D、Text1.Text & n Mod 10
(4) A、n = n \ 10 B、n = n / 10
C、n = n Mod 10
D、n = n - 10
试题2(每小题3分,共12分)
阅读下列程序说明和程序,在每小题提供的若干可选答案中,挑选一个正确答案。
【程序说明】
运行时,可以在图片框控件p1用红色绘制下列坐标线并加上数字显示。
Private Sub Form_Activate()
P1.Height = P1.Width
P1.FontSize = 10
(5) (-10, 110)-(110, -10)
(6)
P1.Line (-5, 0)-(100, 0)
P1.Line (0, -5)-(0, 100)
For i = (7)
P1.Line (i, 0)-(i, 2)
P1.Line (0, i)-(2, i)
Next i
For i = 1 To 9
P1.CurrentX = i * 10 - 2
P1.CurrentY = -2
(8)
Next i
End Sub
【供选择的答案】
(5) A、P1.Draw B、P1.Line C、P1.Print D、P1.Scale
(6) A、P1.ForeColor = RGB(255,0,0) B、P1.FillColor = RGB(255,0,0)
C、P1.FillColor = VbRed
D、P1.ForeColor = Red
(7) A、1 To 9 Step 1 B、10 To 90 C、10 To 90 Step 10 D、2 To 9
(8) A、PSet i B、P1.Print i C、P1.Pset i D、Print i
试题3(每小题3分,共12分)
阅读下列程序说明和程序,在每小题提供的若干可选答案中,挑选一个正确答案。
【程序说明】
单击“读文件”按钮将文本文件读入并逐行在列表框控件List1中显示;然后单击“分解”按钮将List1每行中的英文字母、其他字符分别显示在List2、List3各行中。
运行结果如下图所示。
【程序】
Private Sub Command1_Click() '读文件
Dim s As String
Open "e:\xxx.txt" For (9) As #1
While Not EOF(1)
Line Input #1, s : List1.AddItem s
Wend
Close #1
End Sub
Private Sub Command2_Click() '分解
Dim i As Integer, n As Integer, s1 As String, s2 As String
For i = 1 To (10)
n = Len(List1.List(i - 1))
ReDim a(n) As String * 1
For j = 1 To n
a(j) = (11)
Next j
s1 = "": s2 = ""
For j = 1 To n
If (12) Then s1=s1+a(j) Else s2=s2+a(j)
Next j
List2.AddItem s1
List3.AddItem s2
Next i
End Sub
【供选择的答案】
(9) A、Read B、Append C、Input D、Output
(10) A、List1.Count B、ListCount C、ListCount-1 D、List1.ListCount
(11) A、Mid(List1.List(i-1),j,1) B、Middle(List1.List(i-1),j,1)
C、Mid(List1.List(i-1),j)
D、Middle(List1(i-1),j,1)
(12) A、a(j)>='a' And a(j)<='z' Or a(j)>='A' And a(j)<='Z'
B、a(j)>="a" And a(j)<="z" Or a(j)>="A" And a(j)<="Z"
C、"a"<=a(j)<="z" Or "A"<=a(j)<="Z"
D、(a(j)>='a' And a(j)<='z') Or (a(j)>='A' And a(j)<='Z')
试题4(每小题3分,共12分)
阅读下列程序并回答问题,在每小题提供的若干可选答案中,挑选一个正确答案。
【程序】
Private Sub Text1_KeyPress(K As Integer)
If K < Asc("0") Or K > Asc("9") Then
K = 0
Else
Label1.Caption = Chr(K) + Label1.Caption
End If
End Sub
【供选择的答案】
(13) Text1获得输入焦点后,依次按数字键1、3、5,Label1显示:
A、135
B、531
C、9
D、5
(14) Text1获得输入焦点后,依次按数字键2、7、9,Label1显示:
A、972
B、279
C、297
D、18
(15) Text1获得输入焦点后,依次按 -、2、3、5键,Label1显示:
A、-532
B、-235
C、532
D、235
(16) Text1获得输入焦点后,依次按 1、2、a、5键,Label1显示:
A、空白
B、12a5
C、5a21
D、521
试题5(每小题3分,共12分)
阅读下列程序并回答问题,在每小题提供的若干可选答案中,挑选一个正确答案。
【程序】
Private Sub Form_Load()
Timer1.Interval = 1000
End Sub
Private Sub Timer1_Timer()
Static k As Byte
Form1.CurrentX=0: Form1.CurrentY=0 '窗体的所有其他属性均取缺省值
Form1.Cls
If k = 0 Then k = 1 Else k = 0
If k=0 Then Form1.ForeColor = RGB(0, 255, 0) Else _
Form1.ForeColor = RGB(0, 0, 255)
Print Time
End Sub
【供选择的答案】
(17) 激活Timer1后,每间隔1秒显示一次系统时间,方式是:
A、蓝、绿色交替显示
B、蓝色显示
C、绿色显示
D、红色显示
(18) 系统时间的显示位置,是在:
A、窗体右上角
B、窗体左上角
C、窗体右下角
D、窗体左下角
(19) 如果将Timer过程中的语句“Static k As Byte”改为“Dim k As Byte”,激活Timer1
后,窗体系统时间显示上的颜色为:
A、蓝、绿色交替
B、蓝色
C、绿色
D、红色
(20) 如果要同时显示系统日期、时间,对Timer过程中Print语句之输出列表不可取的是:
A、Date,Time
B、Date;Time
C、Date-Time
D、Date + Time
试题6(每小题3分,共12分)
阅读下列程序并回答问题,在每小题提供的若干可选答案中,挑选一个正确答案。
【程序】
Private Sub f(b() As Integer, ByRef m As Integer)
Dim i As Integer, j As Integer, k As Integer
i = 1
Do While i <= m
For j = 1 To m
If b(i) Mod b(j) = 0 And i <> j Then
For k = i To m - 1: b(k) = b(k + 1): Next k
Exit For
End If
Next j
If j > m Then i = i + 1 Else m = m - 1
Loop
End Sub
Private Sub Command1_Click()
Dim a(6) As Integer, i As Integer, n As Integer
n = 6
For i = 1 To 6: a(i) = InputBox("a(" & i & ")="): Next i
Call f(a, n)
For i = 1 To n: Print a(i); : Next i
End Sub
(21) 单击Command1输入7、8、5、4、9、3后,相应的显示结果为:
A、8 9 3
B、8 9 3 3 3 3
C、7 5 4 3 3 3
D、7 5 4 3
(22) 如果将过程f首句中的“ByRef”改为“Byval”,输入数据同(21),显示结果为:
A、8 9 3
B、8 9 3 3 3 3
C、7 5 4 3 3 3
D、7 5 4 3
(23) 单击Command1输入4、12、27、8、-6、3后,相应的显示结果为:
A、4 3 3 3 3 3
B、4 3
C、12 27 8 -6
D、12 27 8
(24) 如果将过程f首句中的“ByRef”改为“Byval”,输入数据同(23),显示结果为:
A、4 3 3 3 3 3
B、4 3
C、12 27 8 -6
D、12 27 8
试题7(28分)
编程,按Command1可输入有10个实数的数组,调用函数f求他们的平均值V,然后输出其中与V之差的绝对值为最小的那个数组元素。
请将答卷上函数过程f(包括形参列表)、事件过程Command1补充完整。
2007年秋浙江省高等学校
计算机等级考试试卷(二级Visual Basic)
说明:⑴考生应将所有试题的答案填写在答卷上。其中试题1~试题6,请在答卷上各小题正确选项的对应位置处填“√”;
⑵请将你的准考证号的后五位填写在答卷右下角的指定位置内;
⑶考试时间为90分钟;
试题1(每小题3分,共12分)
阅读下列程序说明和程序,在每小题提供的若干可选答案中,挑选一个正确答案。
【程序说明】单击Command1后计算a?x2+b?x+c的值并显示,界面设计以及运行时的显示分别如下图左、图右所示。要求在文本框中不可输入英文字母。
【程序】
Private Sub Command1_Click()
Dim a As Single, b As Single, c As Single, x As Single, y As Single a = Text1(0).Text: b = Text1(1).Text
c = Text1(2).Text: x = Text1(3).Text
y = a * x * x + b * x + c
Label3.Caption = y
End Sub
Private Sub Text1_ (1) (Index As Integer, (2) )
Select Case (3)
Case "A" To "Z"
K = 0
Case (4)
K = 0
End Select
End Sub
【供选择的答案】
(1) A、keyPress B、change C、keydown D、keyup
(2) A、keyAscii As Integer B、Value C、Text() D、k As Integer
(3) A、Chr(KeyAscii) B、Chr(K) C、Asc(K) D、Asc(KeyAscii)
(4) A、a To z B、'a' To 'z' C、"a" To "z" D、'a'...'z'
试题2(每小题3分,共12分)
阅读下列程序说明和程序,在每小题提供的若干可选答案中,挑选一个正确答案。
【程序说明】
过程f的功能是:返回Single类型数组n个元素的平均值,查找数组中最大值、最小值并通过相应的实参返回到调用处。该过程可以被其他模块中的过程所调用。
(5) f(a() As Single, n As Integer, (6) ) As Single
Dim i As Integer
max = a(1): min=a(1)
For i = 2 To n
If a(i)>max Then max=a(i)
If a(i) (7) Next i (8) 【供选择的答案】 (5) A、Function B、Sub C、Private Sub D、Private Function (6) A、max As Single,min As Single B、max As Integer,min As Integer C、Byval max As Single D、Byval max As Single,Byval min As Single (7) A、f=f+a(i) B、f=f+a(i)/n C、f=a(i) D、f=a(i)/n (8) A、find = max B、End Sub C、find = min D、End Function 试题3(每小题3分,共12分) 阅读下列程序说明和程序,在每小题提供的若干可选答案中,挑选一个正确答案。 【程序说明】 单击Command1后读入文件中所有数据(多于10个),将其中较大的5个数、较小的5个数以及其他数分别在列表框控件List1、List3、List2中显示。 【程序】 Private Sub Command1_Click() Dim n As Integer, x As Single, i As Integer,j As Integer,k As Integer Open "e:\score.txt" For Input As #1 Do While (9) '统计文件中的数据个数n Input #1, x : n = n + 1 Loop (10) As Single Close #1: Open "e:\score.txt" For Input As #1 '重新打开文件 For i = 1 To n Input #1,a(i) Next i Close #1 For i = 1 To n-1 k = i For j = i+1 To n If (11) Then k=j Next j x = a(i): a(i) = a(k): a(k) = t If i <= 5 Then List1.AddItem a(i) Else If (12) Then List3.AddItem a(i) Else List21.AddItem a(i) End If Next i End Sub 【供选择的答案】 (9) A、Not Eof(1) B、Eof(1) C、Eof(1) = True D、Read (10) A、Dim a(n) B、Redim a(n) C、Redim a() D、static a(n) (11) A、a(i)>a(k) B、a(i)a(k) D、a(j) (12) A、i>=n-5 B、i>n-5 C、n>5 D、i 试题4(每小题3分,共12分) 阅读下列程序并回答问题,在每小题提供的若干可选答案中,挑选一个正确答案。 【程序】 Dim m As Integer Private Sub Command1_Click() Dim a As Integer, i As Integer, f As Integer a = InputBox("a=") f = 1: i = 2 While i <= a / 2 If a Mod i = 0 Then f = f + i i = i + 1 m = m + 1 Wend Form1.Cls: Print f End Sub 【供选择的答案】 (13) 运行时第1次单击Command1输入7后,窗体上的显示结果为: A、1 B、3 C、5 D、7 (14) 运行时第2次单击Command1输入8后,窗体上的显示结果为: A、2 B、7 C、8 D、6 (15) 运行时第3次单击Command1输入9后,窗体上的显示结果为: A、3 B、5 C、7 D、4 (16) 运行时3次单击Command1、并依次输入7、8、9后,变量m的当前值为: A、6 B、7 C、8 D、3 试题5(每小题3分,共12分) 阅读下列程序并回答问题,在每小题提供的若干可选答案中,挑选一个正确答案。 【程序】 Private Function f(a As Integer, b As Integer) As Integer Dim r As Integer, t As Integer f = a Do While f Mod b <> 0 f = f + a Loop End Function Private Sub Command1_Click() Static k As Integer Dim m As Integer, n As Integer m = InputBox("m=") n = InputBox("n=") k = k + 1 Form1.Cls Print f(m, n) End Sub 【供选择的答案】 (17) 运行时第1次单击Command1输入4、6后,窗体上的显示结果为: A、4 B、24 C、8 D、12 (18) 运行时第2次单击Command1输入15、10后,窗体上的显示结果为: A、150 B、20 C、30 D、2 (19) 运行时第3次单击Command1输入4、10后,窗体上的显示结果为: A、10 B、20 C、40 D、80 (20) 第4次单击Command1后,该事件过程中变量k的当前值为: A、4 B、3 C、0 D、2 试题6(每小题3分,共12分) 阅读下列程序并回答问题,在每小题提供的若干可选答案中,挑选一个正确答案。界面设计以及运行时HScroll1.Value值为90时的显示分别如下图左、图右所示。 【程序】 Private Sub Form_Load() Picture1.Width = Picture1.Height Picture1.Scale (-10, 10)-(10, -10) Picture1.BorderStyle = 0 HScroll1.SmallChange = 2: https://www.doczj.com/doc/d517177167.html,rgeChange = 10 End Sub Private Sub HScroll1_Change() Dim t As Single Picture1.Cls t = HScroll1.Value * 3.14159 / 180 Label1.Caption = HScroll1.Value Picture1.Circle (0, 0), 10, vbRed Picture1.Line (0, 0)-(9 * Cos(t), 9 * Sin(t)) End Sub (21) 决定运行时图片框控件边框不显示的相关属性为: A 、BackColor B 、ForeColor C 、FillStyle D 、BorderStyle (22) 滚动条Value 属性值为180时,以原点为起点的直线指向: A 、12点方向 B 、9点方向 C 、6点方向 D 、3点方向 (23) 滚动条Value 属性值为270时,以原点为起点的直线指向: A 、12点方向 B 、9点方向 C 、6点方向 D 、3点方向 (24) 下列说法中正确的是: A 、拖动滚动条滑块的过程中以及结束后都不会触发HScroll1_Change 事件 B 、拖动滚动条滑块的过程结束后立即触发HScroll1_Change 事件 C 、单击滚动条两端箭头时Value 的增量为10或-10。 D 、单击滚动条上空白区域时Value 的增量为2或-2。 试题7(28分) 编程,计算多项式1 2321-++++n n x a x a x a a 的值。在文本框控件Text1、Text2中 分别输入n 、x 后,按Command1可输入n a a a a 、、、、 321,按Command2可计算该多项式的值并以标签控件Label3显示。 程序设计时的界面设计如下图左所示。运行时输入n 为3、x 为1.5,输入321a a a 、、分别为1、2、3后的输出结果如下图右所示。请将答卷上各事件过程补充完整。 2007年春浙江省高等学校 计算机等级考试试卷(二级Visual Basic) 说明:⑴考生应将所有试题的答案填写在答卷上。其中试题1~试题6,请在答卷上各小题正确选项的对应位置处填“√”; ⑵请将你的准考证号的后五位填写在答卷右下角的指定位置内; ⑶考试时间为90分钟; 试题1(每小题3分,共12分) 阅读下列程序说明和程序,在每小题提供的若干可选答案中,挑选一个正确答案。 【程序说明】单击窗体后输入1个不小于6的正整数,然后输出该数所有的质数因子(如输入6则输出“ 2 3”,输入60则输出“ 2 2 3 5”,等等)。 【程序】 Private Sub f( (1) ) Dim i As Integer i = 2 Do While (2) If (3) Then k = k /i: Print i; Else i = i + 1 Loop End Sub Private Sub Form_Click() Dim n As Integer Do n = InputBox("n=") Loop (4) Call f(n) Print End Sub 【供选择的答案】 (1) A、n As Integer B、k As Integer C、Byval n As Byte D、I As Integer (2) A、k>1 B、k>=1 C、k=1 D、k Mod i=0 (3) A、k\i=0 B、k\i*i=0 C、n Mod i=0 D、(k\i)*i=k (4) A、Until n>6 B、While n>=6 C、Until n>=6 D、While n>6 试题2(每小题3分,共15分) 阅读下列程序说明和程序,在每小题提供的若干可选答案中,挑选一个正确答案。 【程序说明】 统计鼠标单击图片框控件P1中两个同心圆所围成黑色区域的次数:首次单击Command1将统计结果请零、P1可用,再次单击则以消息框显示统计结果、P1不可用。 Dim n As Integer Private Sub Command1_Click() If Command1.Caption = "开始" Then Command1.Caption = "显示" P1.Enabled = True: n = 0 Else Command1.Caption = (5) P1.Enabled = False: MsgBox("单击该区域" + (6) + "次") End If End Sub Private Sub Form_Activate() P1.Width = P1.Height P1.Scale(-3, 3) - (3, -3) P1.FillStyle = (7) P1.FillColor = (8) : P1.Circle(0, 0), 2 P1.FillColor = vbwhite: P1.Circle(0, 0), 1 End Sub Private Sub Form_Load() Command1.Caption = "开始": P1.Enabled = False End Sub Private Sub P1_MouseDown(Button As Integer, Shift As Integer, _ x As Single, y As Single) If x * x + y * y >= 1 And (9) Then n = n +1 End Sub 【供选择的答案】 (5) A、"退出"B、"开始"C、"显示"D、"开始" (6) A、n B、Val(n) C、Str(n )D、Trim(n) (7) A、1 B、0 C、2 D、3 (8) A、vbBlack B、Rgb(255,0,0) C、vbwhite D、Rgb(255,255,0) (9) A、x*x+y*y<=4 B、x>2 And y>2 C、x*x+y*y<=2 D、x*x+y*y>4 试题3(每小题3分,共12分) 阅读下列程序说明和程序,在每小题提供的若干可选答案中,挑选一个正确答案。 【程序说明】 某文件中存放了若干个实数,单击Command1 可用对话框打开该文件、并将读入的所有数据在List1中显示,单击Command2可将读入的数据按值从大到小顺序重新写入到该文件。 【程序】 Private Sub Command1_Click() Dim x As Single List1.Clear: CommonDialog1.Action = 1 Open CommonDialog1.FileName For (10) As #1 Do While (11) Input #1, x: List1.Additem x Loop Close #1 End Sub Private Sub Command2_Click() Dim n As Single,x As Single,i As Integer,j As Integer,K As Integer n = List1. (12) Redim a(n) As Single For i = 1 To n: a(i) = List1.List(i-1): Next i For i = 1 To n -1 k = i For j = i+1 To n: If (13) Then k = j: Next j x = a(k): a(k) = a(i): a(i) = x Next i Open CommonDialog1.FileNmae For Output As #1 For i = 1 To n: Print #1,a(i): Next i Close #1 End Sub 【供选择的答案】 (10) A、Output B、Input C、Append D、Read (11) A、Eof(1) B、Not Eof(1) C、Eof(fn) D、Not Eof(fn) (12) A、Count B、ListCount-1 C、List D、ListCount