资源描述
2009年秋浙江省高等学校
计算机等级考试试卷(二级Visual Basic)
一、程序阅读与填空(24小题,每小题3分,共72分)
1. 阅读下列程序说明和程序,在每小题提供的若干可选答案中,挑选一个正确答案。
【程序说明】输入n、X(X的绝对值必须小于1)后,计算并显示下列表达式的值。
【程序】
Private Sub Command1_Click()
Dim Y As Single, X As Single, T As Single
Dim N As Integer, I As Integer, F As Integer
N = Inputbox("N=")
Do
X = Inputbox("X=")
Loop ___(1)___
Y=1: ___(2)___
For I = 2 To ___(3)___
T = -T * X: Y = ___(4)___
Next I
Print Y
End Sub
【供选择的答案】
(1)
[A] While Abs(X) < 1 [B] While X > -1 And X < 1
[C] Until Abs(X) < 1 [D] Until X > 1
(2)
[A] T = -X / 2 [B] T = -1 [C] T = 0 [D] T = 1
(3)
[A] N - 2 [B] N [C] N - 1 [D] N + 1
(4)
[A] Y + T / I [B] T * I [C] T / I [D] Y + T * I
2.阅读下列程序说明和程序,在每小题提供的若干可选择答案中,挑选一个正确答案。
【程序说明】单击command1后计算机list1中所有数的平均值,清空列表框控件list2中所有表项后将所list1中所有小于平均值的数据写入到list2(如下图所示)
【程序】
Private Sub Command1_Click()
Dim N As Integer, I As Integer, S As Single, V As Single
N=______(5)______
_________(6)_________
For I = 1 To N
a(I) = _________(7)____:V=V+A(I)
Next I
V=V/N:______(8)_______
For I = 1 To N
If a(I) < V Then List2.Additem A(I)
Next I
End Sub
【供选择的答案】
(5)
[A] List1.Listcount-1
[B] List1.Listcount
[C] List1.Listindex
[D] List1.Count
(6)
[A] Redim a(N-1)
[B] Dim a(N ) As Single
[C] Redim a(N) As Single
[D] Dim a(N)
(7)
[A] List1.List(I-1)
[B] List1.List(I)
[C] List1.Text
[D] List1.List(I+1)
(8)
[A] List2.Move
[B] List2.List=””
[C] List2.Cls
[D] List2.Clear
3.阅读下列程序说明和程序,在每小题提供的若干可选答案中,挑选一个正确答案。
【程序说明】 运行时初态如下图所示,Text2、Text3、Command1不可用。输入姓名按回车Text2可用,输入学号Text3可用,输入成绩按回车“保存“按钮可用,按“保存“将数据添加到文件e:\score.txt、界面恢复初态。退出前可继续输入、保存数据。
[程序]
Private Sub f()
______(9______
Text1.Text=””: Text1.Enabled=True
Text2.Text=””: Text2.Enabled=False
Text3.Text=””: Text3.Enabled=False
Text1.Setfocus ‘Text1获得输入焦点
End Sub
Private Sub Form_Activate() ‘窗体加载后调出f()初始化
Call F
End Sub
Private Sub Text1_Keypress(K As Integer )
If K =13 Then Text2.Enabled =True : Text2.Setfocus
End Sub
Private Sub Text2_Keypress(K As Integer )
If K =13 Then Text3.Enabled =True : Text3.Setfocus
End Sub
Private Sub Text3_Keypress(K As Integer)
If K=13 Then Command1.Enabled =True
End Sub
Private Sub Command1______(10)__
Open “E:\Score.Txt” For _______(11)______ As #1
Write #1, Text1.Text, Text2.Text , Val(Text3.Text)
Close #1
_______(12)
End Sub
【供选择的答案】
(9
[A] Command1.Visible =True
[B] Command1.Enabled=True
[C] Command1.Visible=False
[D] Command1.Enabled=False
(10)
[A] _Keyup()
[B] _Keydown()
[C] _Click()
[D] _Keypress()
(11)
[A] Input
[B] Append
[C] Output
[D] Write
(12)
[A] Call Sub f()
[B] Call f
[C] f()
[D] Command1.Enabled=False
4. 阅读下列程序说明的程序,在每小题提供的若干可选答案中,挑选一个正确答案。
[程序]
Private Sub Command1_Click()
Dim N As Integer , K As Integer
N=Val(Text1.Text): Label1.Caption=””
While N<> 0
K=N Mod 16
If K<10 Then
Label1.Caption=Trim(Str(K)) +Label1.Caption
Else
Label1.Caption =Chr(K-10+Asc(“a”)) +Label1.Caption
End If
N=N\16
Wend
End Sub
【问题】
(13)
在text1中输入“19”后。单击命令按钮command1,标签按钮label1中显示:
[A] 31
[B] 13
[C] 3, 1
[D] 1, 3
(14)
在text1中输入“25”后。单击命令按钮command1,标签按钮label1中显示:
[A] 3119
[B] 1913
[C] 19
[D] 2,4
(15)
在text1中输入“29“后,单击命令按钮command1,标签按钮label1中显示:
[A] C1
[B] 1C
[C] 1D
[D] 1d
(16)
在text1中输入“42”后,单击命令按钮command1,标签按钮label1中显示:
[A]2a
[B] a2
[C] 2,a
[D] A2
5. 阅读下列程序说明和程序,在每小题提供的若干可选答案中,挑选一个正确答案。
[程序]
Private Sub f1(a() As Single, n As Integer)
Dim i As Integer
For i = 1 To n: a(i) = a(i) + 1: Next i
End Sub
Private Function f2(a() As Single, n As Integer) As Single
Dim i As Integer
Call f1(a, n)
For i = 1 To n
f2 = f2 + a(i)
Next i
f2 = f2 / n
End Function
Private Sub Command1_Click()
Dim n As Integer, i As Integer
n = InputBox("N=")
ReDim x(n) As Single
For i = 1 To n
x(i) = InputBox("x(" & i & ")=")
Next i
Print f2(x, n)
End Sub
【问题】
(17
单击命令按钮Command1后输入3、1、2、3这四个数,显示结果为:
[A] 2.5
[B] 4
[C] 2
[D] 3
(18
单击命令按钮Command1后输入4、1、2、3、4这五个数,显示结果为:
[A] 3.5
[B] 5
[C] 4
[D] 3
(19
单击命令按钮Command1后输入5、1、2、3、4、5这六个数,显示结果为:
[A] 3
[B] 3.5
[C] 4
[D] 4.5
(20
若删除函数中f2中的语句“Call f1(a,n)“,单击command1后输入3、1、2、3这四个数,显示结果为:
[A] 2.5
[B] 4
[C] 2
[D] 3
6. 阅读下列程序说明和程序,在每小题提供的若干可选答案中,挑选一个正确答案。
[程序]
Private Sub Form_Load()
P1.Width =P1.Height
P1.Scale (-100,100) –(100,-100)
End Sub
Private Sub Command1_Click()
Dim X As Single ,Y As Single
P1.Circle(0,0) ,80,Rgb(255,0,0)
P1.Fillstyle =0: P1.Fillcolor=Vbyellow
P1.Circle (P1.Scaleleft +P1.Scalewidth/2,P1.Scaletop _
+P1.Scaleheight/2),40,Rgb(0,0,255)
P1.Fillcolor=Vbgreen
For X= -60 To 60 Step 0.01
Y= Sqr(3600-X*X)
P1.Pset (X, Y) ,Rgb(0,255,0)
P1.Pset (X, - Y), Rgb(0,255,0)
Next X
End Sub
【问题】
(21)
运行是第一次单击命令按钮Command1后,图片框控件p1中显示为:
[A]两个圆
[B] 三个圆
[C] 两个圆和一个矩形
[D] 两个圆和一个椭圆
(22)
运行时第一次单击命令按钮Command1后,图片框控件p1中这些圆的圆心:
[A] 各不相同
[B] 相同
[C] 都在p1左上角
[D] 都在p1右下角
(23)
运行时第一次单击command1后,P1中显示实心圆的半径、填充色分别是:
[A] 40,黄色
[B] 40,绿色
[C] 80,红色
[D] 60,绿色
(24)
运行时第二次单击command1后,P1中半径为80的圆的填充色为:
[A] 红色
[B] 灰色
[C] 黄色F
[D] 绿色
二、程序编写(2小题,每小题14分,共28分)
1.编制事件过程Command1_Click,输入x后,计算下列函数的值。
2.编程,求一组数x1、x2、……x20的中的最大值。
要求:编制一个自定义函数过程f,返回n个single类型数中的最大值;编制事件过程Command1_Click,输入20个数、调用f后显示其中的最大值。
展开阅读全文