浙江省2011年10月高等教育自学考试
Visual Basic程序设计试题
课程代码:07759
一、单项选择题(本大题共10小题,每小题2分,共20分)
在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。
1. 工程文件的扩展名为 ( )
A. .frx B. .bas
C. .vbp D. .frm
2. 下列是正确的日期型常量的是 ( )
A. “8/8/2008” B. 8/8/2008
C. #8/8/2008# D. {8/8/2008}
3. 设N是一个整数变量,下列语句中可以正确声明一个动态数组的语句是 ( )
A. Dim A(N) As Integer B. Dim A() As Integer
C. Dim A(,) As Integer D. Dim A(1 To N) As Integer
4. 判断点P(x1,y1)是否在圆内(圆的轨迹方程为:x2+y2=9)的表达式为 ( )
A. x1<3 And y1<3 B. -3<x1<3 And -3<y1<3
C. x1*x1+y1*y1=9 D. x1*x1+y1*y1<9
5. 能够获得一个文本框中被选取文本的内容的属性是 ( )
A. Text B. SelLength
C. SelText D. SelStart
6. 在程序代码中将图片文件mypic. jpg装入图片框Picture1的语句是 ( )
A. Picture1. Picture=″mypic. jpg″
B. Picture1. Image=″mypic. jpg″
C. Picture1. Picture=LoadPicture(″mypic. jpg″)
D. Picture1. LoadPicture(″mypic. jpg″)
7. 将图片框控件下列的哪个属性设置为True时,可使图片框控件根据在其内显示的图片调整其大小 ( )
A. AutoSize B. Stretch
C. Size D. Picture
8. 输入对话框InputBox的返回值类型是 ( )
A. 字符串 B. 整数
C. 逻辑型 D. 浮点数
9. 执行语句“Print #1,”John”,90,80”后,相应的文件被写入的内容是 ( )
A. John,90,80 B. John 90 80
C. “John”,90,80 D. “John” 90 80
10. 为将相应的数据绑定控件的当前值保存到数据库中应执行数据控件的方法是( )
A. UpdateControls B. UpdateRecord
C. Refresh D. AddNew
二、填空题(本大题共10小题,每小题2分,共20分)
请在每小题的空格中填上正确答案。错填、不填均无分。
1. 在面向对象程序设计中,对象是某种类的一个具体_________。
2. Visual Basic应用程序通常由三种模块组成,即窗体模块、类模块和_________。
3. 在Visual Basic中,根据变量的作用域不同,变量可以分为过程级变量、全局级变量和_________变量。
4. 表达式16/2 - 2*7^3 Mod 9 的值是_________。
5. 用随机函数产生[1,100]闭区间范围内整数的表达式是_________。
6. 让控件隐藏起来,处于不可见状态,可修改其_________属性。
7. 通用对话框CommonDialog以保存文件对话框的形式显示时,应调用的方法是 _________。
8. 实现在窗体Form1的(X,Y)坐标点画一个红色的点的语句是_________。
9. 如果过程的某个参数需要按值传递,则定义过程时,需要在该参数前加关键字_________。
10. 可以从文件的当前位置起至换行符前的所有字符读入到字符串变量的语句是_________。
三、程序阅读题(本大题共4小题,每小题5分,共20分)
阅读下列程序,将运行时的输出结果写在每小题的程序代码下。
1. 下列程序段运行时,写出窗体上的输出结果。
Dim A As String, B As String
Dim E As String, F As String
A = ″abcd″
B = ″bcde″
E = Right(A, 3)
F = Mid(B, 2, 3)
If E < F Then
Print E + F
Else
Print F + E
End If
2. 下列程序段运行时,从键盘依次输入2、4两个整数,写出窗体上的输出结果。
Dim i As Integer, j As Integer, a As Integer, n As Integer
Dim s As Long, t As Long
a = CInt(InputBox(″请输入a:″))
n = CInt(InputBox(″请输入n:″))
s = 0 : i = 1
Do While i <= n
t = 0
For j = 1 To i
t = t * 10 + a
Next j
s = s + t
i = i + 1
Loop
Print s
3. 下列程序段运行时,从键盘依次输入14、23、5、9、30,写出窗体上的输出结果。
Dim a(5) As Integer
Dim i As Integer, j As Integer, t As Integer
For i=1 To 5
a(i)=Val(InputBox(“请输入一个整数:”))
Next
For i=1 To 4
For j=i+1 To 5
If a(j)>a(i) Then
t = a(j)
a(j) = a(i)
a(i) = t
End If
Next j
Next i
For i=1 To 5
Print a(i)
Next
4. 下列程序段运行时单击窗体,写出窗体上的输出结果。
Private Sub Form_Click()
Test 2
End Sub
Private Sub Test(ByVal x As Integer)
x = x * 2 + 1
If x < 6 Then
Call Test(x)
End If
x = x * 2 + 1
Print x
End Sub
四、程序填空选择题(本大题共10小题,每小题2分,共20分)
阅读下列程序说明和程序,在每小题提供的若干可选答案中,挑选一个正确答案。
1. 【程序说明】
将图片框控件Picture1的宽度设置为与高度相同(正方形);将图片框坐标系的原点设置到图片框的中心位置;在图片框中绘制5个边框颜色为蓝色的同心圆,第一个半径为r、第二个半径为2r、……,第5个半径为5r,第5个圆也是图片框的内接圆。
Private Sub Form_Activate()
Dim r As Single, Rt As Single,i as Integer
Picture1. Width = Picture1. Height
Picture1. (1)_________
Picture1. (2)_________ = vbBlue
r = (3)_________
For i = 1 To 5
Rt = (4)_________
(5)_________
Next
End Sub
【供选择的答案】
(1) A. Scale(0,0)-(1,1) B. Scale(-1,1)-(1,-1)
C. Scale(0,0),(1,1) D. ScaleMode(-1,1)-(1,-1)
(2) A. ForeColor B. FillColor
C. BackColor D. Color
(3) A. 1/5 B. 1/10
C. 1/2 D. 1
(4) A. 1 B. r
C. i D. i*r
(5) A. Circle (0,0),r B. Circle (0,0),Rt
C. Picture1. Circle (0,0),r D. Picture1. Circle (0,0),Rt
2. 【程序说明】
利用一个定时器Timer1、一个形状控件Shape1制作一个小球平移演示。将Shape1 设置成一个红色的小球。当鼠标点击窗体时小球以每0. 1秒50缇在窗体从左向右平移。当小球全部移出窗体右边框时,又从窗体左边框逐渐平移进入,如此循环往复。当再次点击窗体时,小球暂停平移;再点击窗体,小球继续平移。
Private Sub Form_Load()
Shape1. Width = Shape1. Height
Shape1. Shape = 3 ‘设置Shape1的外观为圆形
Shape1. (6)_________ = vbRed
Timer1. Interval = (7)_________
Timer1. Enabled = False
End Sub
Private Sub Form_Click()
Timer1. Enabled =(8)_________
End Sub
Private Sub Timer1_Timer()
If Shape1. Left<Form1. Width Then
Shape1. (9)_________
Else
Shape1. Left = (10)_________
End If
End Sub
【供选择的答案】
(6) A. BackStyle B. FillStyle
C. FillColor D. DrawStyle
(7) A. 0. 1 B. 1
C. 10 D. 100
(8) A. Timer1. Enable = True
B. Timer1. Enable = False
C. Timer1. Enable=Not Timer1. Enable
D. Timer1. Enable=! Timer1. Enable
(9) A. Left = Shape1. Left+50 B. Left = Shape1. Left-50
C. Top = Shape1. Top+50 D. Top = Shape1. Top-50
(10) A. Shape1. Width B. -Shape1. Width
C. 0 D. Form1. Width
五、程序设计题(本大题共2小题,每小题10分,共20分)
按照下列要求编写程序。
1. 编写一个判断一个自然数是否为完数的Function过程,返回类型为Boolean类型。当一个自然数是完数,Function过程返回True,否则返回False。(说明:所谓完数是指一个自然数除它本身之外的所有因子和等于它本身,例如 6=1+2+3,6是完数,12< >1+2+3+4+6,12不是完数。)
2. 在C:\score. dat文本文件中存放了若干个学生的姓名和一门课程的成绩(成绩范围在0~100之间),文件内容如下所示:
“李斌”,80
“何平”,76
“吕丽”,90
“王晓明”,47
...,..
请编写事件过程Command1_Click,它能读取该文件并完成下列功能:
(1) 将及格和不及格的学生姓名和成绩以相同的数据格式写入c:\pass. dat和c:\unpass. dat文件。
(2) 统计及格和不及格学生的人数,将统计结果输出在窗体上。
(说明:60分以下为不及格)