浙江农林大学2010-2011学年第二学期考试卷1(A 卷)
课程名称:高级语言程序设计(VB ) 课程类别:必修 考试方式:闭卷
注意事项:1、本试卷满分100分,考试时间 120分钟。
2、考生应将试题一至试题四的答案涂写在答题卡上,将试题五的答案填写在答题卷上,否则做无效处理。
3、“答题卡”中,“科目代码”不涂;“准考证号”为学号后9位,试卷类型为A 卷的在答题卡上填涂“A ”,试卷类型为B 卷的在答题卡上填涂“B ”。
一、判断题(每小题1分,共10分)
判断下列叙述正确与否,正确的选A ,错误的选B 。 1、对象的Left 属性和Top 属性都必须大于或等于零。 2、InputBox 函数的返回值的类型为整型。
3、For 循环语句正常结束(即不是通过Exit For 语句或强制中断)其循环控制变量的值一定大于“终值”,并等于“终值”+“步长”。
4、数组的下界一定是0。
5、可以在窗体的通用部分声明静态变量。
6、用Clear 方法可以清除组合框中的所有表项。
7、在画椭圆中,Circle 方法中的参数radius 对应椭圆的短轴,如果aspect 参数大于或等于1的话,则radius 指的是横轴的半径。
8、用cls 方法能够清除窗体或图片框中用picture 属性设置的图形。 9、若文本框的MaxLength 属性值为0,则该文本框内不可输入任何字符。
10、用Output 模式打开文件,如果指定文件和路径不存在,则会自动创建指定文件及路径。
学院 专业班级 姓名 学号:
装 订 线 内 不 要 答 题
二、选择题(每小题2分,共30分)
11、设a=5,b=4,c=3,d=2表达式3 > 2 * b Or a = c And b <> c Or c > d 的值是(11)。
A、1
B、True
C、False
D、2
12、要使某个控件不可操作,要对(12)属性进行设置。
A、Enabled
B、Visible
C、Caption
D、Name
13、设a = "Microsoft VisualBasic" ,则以下使变量b的值为“VisualBasic”的语句是 (13) 。
A、b = Left(a, 11)
B、b = Mid(a, 11,10)-
C、b = Right(a, 11)
D、b = Mid(a, 11, 11)
14、下程序段循环结构执行后,输出i的值是:(14)。
For i=1 to 10 step 2
y=y+i
Next I
Print i;
A、25
B、10
C、11
D、因为y的初值不知道,所以不确定
15、为了使命令按钮(名称为Command1)右移200,应使用的语句是(15)。
A、Command1.Move -200
B、Command1.Move 200
C、Command1.Left = Command1.Left + 200
D、Command1.Left = Command1.Left - 200
16、在窗体中画一个名称为command1的命令按钮,并编写如下过程:
Private Sub Command1_Click()
Dim a as integer
Static b as integer
a=5
call func(a,b)
print a,b
End Sub
Private Sub func(byval x As Integer, y as integer)
x=x+x
y=y+1
End Sub
运行以上程序,二次单击command1得到的结果是(16)。
A、 5 1
B、10 1
C、5 1
D、10 1
5 2 10 2 5 1 20 2
17、定义数组A(1 To 5, 5)后,下列哪一个数组元素不存在:(17)。
A、A(1,1)
B、A(1,0)
C、A(0,1)
D、A(5,5)
18、下面有一程序,如果从键盘上输入“Testing”,则在文本框中显示的内容是(18)。
Private Sub Text1_KeyPress(KeyAscii As Integer)
If KeyAscii >= 65 And KeyAscii <= 122 Then
KeyAscii = 65
End If
End Sub
A、A
B、Testing
C、AAAAAAA
D、程序出错
19、能够获得一个文本框中被选取文本的内容的属性是(19)。
A、Text
B、Length
C、Seltext
D、SelStart
20、在下列关于通用对话框的叙述中,错误的是(20)。
A、CommonDialogl.ShowColor显示字体对话框
B、CommonDialog1.ShowColor等价于Commondialog1.Action=3
C、CommonDialog控件是ActionX控件,初始时在工具箱中是找不到的
D、在设计状态,CommonDialog控件以图标显示在窗体上,其大小不能改变
21、在VB中,以下控件不能作为其他控件的容器的是(21)。
A、框架
B、图片框
C、影像框
D、窗体
22、下列用Line方法绘制红色实心矩形的语句正确的是(22)。
A、Line(10,10)-Step(50,50),RGB(255,0,0),BF
B、Line(10,10)-Step(60,60),B,RGB(255,0,0),BF
C、Line(10,.10)-Step(60,60),RGB(255,0,0),B
D、Line Step(10,10)-Step(50,50), BF
23、组合框中的Style属性值确定了组合框的类型和显示方式,以下选项中不属于组合框Style 属性值的是(23) 。
A、下拉式组合框
B、弹出式组合框
C、简单式组合框
D、下拉式列表框
24、下列(24)方法或函数可以调用外部的可执行文件。
A、Show
B、Shell
C、Input
D、Open
25、执行Form1.Scale (-20, 20)-(20, -20)语句后,form1窗体坐标系X轴和Y轴的正方向是(25)。
A、向左和向下B、向右和向上C、向左和向上D、向右和向下
三、程序填空题(每空2分,共20分)
说明:阅读下列程序,在每小题提供的若干个可选答案中,挑选一个正确答案。
程序1、阅读下列程序说明和程序,在每小题提供的若干可选答案中,挑选一个正确答案。【程序说明】编写程序,界面设计、运行时状态如下图所示,按照下列要求定义各事件过程。(1)在窗体的Load事件过程中设置计时器控件Timer1的Enable属性为False、响应的时间间隔为1秒;
(2)单击Command1后计时器开始计时,每隔1秒刷新一次控件text1(0)~text1(3)在窗体上所显示的当前时间以及计时开始后所经过的时间。
【程序】
Dim t as integer
Private Sub Timer1_timer()
text1(0).text= (26)
t=t+1
h=t\3600
m=(t-h*3600)\60
s = (27)
text1(1).text=h
text1(2).text=m
text1(3).text=s
End Sub
Private Sub command1_click()
(28)
End Sub
Private Sub Form_Load()
Timer1.Enabled=False
Timer1.interval=1000
End Sub
【供选择的答案】
(26) A、now() B、date() C、time() D、year()
(27) A、t mod 3600 mod 60 B、t mod 3600 C、t mod 60 D、t
(28) A、Timer1.Enabled=False B、Timer1.Enabled=True
C、Timer1.Interval=1000
D、Timer1.Interval=100
程序2、【程序说明】从指定的任意一个驱动器中的任何一个文件夹下查找文本文件(不含汉字),并将选定的文件的完整路径显示在文本框Text1中,文件的内容显示在文本框Text2中。
Private Sub Form_Load()
File1. (29) = "*.txt"
Text1.Text = "": Text2.Text = ""
End Sub
Private Sub Dir1_Change()
File1.path=Dir1.path
End Sub
Private Sub Drive1_Change()
(30)
End Sub
Private Sub File1_Click()
If Right(File1.Path, 1) <> "\" Then
Text1.Text = File1.Path + "\" + File1.FileName
Else
Text1.Text = File1.Path + File1.FileName
End If
(31)
Do While Not EOF(1)
(32)
Text2.Text = Text2.Text + s$ + Chr(13) + Chr(10)
Loop
Close #1
End Sub
(29) A、text B、Filename C、list D、Pattern
(30) A、Dir1.path=Drive1.drive B、Drive1.drive= Dir1.path
C、Dir1.path=Drive1.path
D、Drive1.path= Dir1.path
(31) A、open Text1.Text for input as #1
B、open File1.filename for input as #1
C、open File1.filename for output as #1
D、open Text1.Text for output as #1
(32) A、s$=input(1,#1) B、input s$,#1
C、Line input #1, s$
D、Line input s$,#1
程序3、【程序说明】
窗体界面如右所示,编写程序实现如下功能:
(1)单击左边的列表框选项,就会在下方的文本框内
显示相应的选项内容,同时也在右边影像框内显示相应的
人物图片。(2)影像框中的图片会随着影像框的大小自动
调整大小。
完成如下列表框的单击事件:
Private Sub list11_Click()
Select Case (33)
Case 0
Image1.Picture = LoadPicture("d:\picture\林心如.jpg")
Case 1
Image1.Picture = LoadPicture("d:\picture\孙俪.jpg")
Case 2
Image1.Picture = LoadPicture("d:\picture\黄晓明.jpg")
Case 3
Image1.Picture = LoadPicture("d:\picture\董洁.jpg")
Case 4
Image1.Picture = LoadPicture("d:\picture\刘亦菲.jpg")
End Select
(34)
Text1.FontSize = 30
Text1.ForeColor = vbRed
End Sub
Private Sub Form_load()
List1.additem “林心如”
List1.additem “孙俪”
List1.additem “黄晓明”
List1.additem “董洁”
List1.additem “刘亦菲”
(35)
End Sub
(33)A、List1.listindex B、List1.Text
C、List1.list
D、List1.list(i)
(34)A、List1.List=Text1.text B、Text1.Text=List1.Text
C、Text1.Text=List1.listindex
D、Text1.Text=List1.list(0) (35)A、Image1.Autosize=True B、Image1.Autosize=False
C、image1.Stretch=True
D、image1.Stretch=False
四、程序阅读题(选择题形式,每小题3分,共18分)
说明:阅读下列程序,从选项中选择运行时的正确输出结果。
程序1、请写出单击命令按钮后,窗体上的显示结果。
Private Sub Command1_Click()
Dim a(5) As byte, i as Byte, j As Byte, t As Byte For i = 1 To 5 : a(i) =val(inputbox(“”)) : Next i For i = 1 To 4
For j =i+1 to 5
If a(i) < a(j) Then
t = a(i) : a(i)=a(j) : a(j) = t
End If
Next j, i
For i = 1 To 5
If a(i) mod 2=0 Then Print a(i);
Next i
End Sub
(36) 当输入45,34,24,65,70运行结果为:
A、 24 34 70
B、70 34 24
C、 24 34 45 65 70
D、70 65 45 34 24
程序2、写出运行时单击窗体后屏幕上的显示结果。
Private Sub Form_Click()
Dim Str1 As String, Str2 As String
Str1 = Text1.Text
Str2 = ""
m = 0
Do while m Str2 = Str2 + mid(str1,m+1,1) Str2 = Str2 +mid(str1,len(str1)-m,1) m = m + 1 Loop Form1.Print Str2 End Sub (37) 当文本框中输入12345678,运行结果为: A、18273645 B、12563478 C、12345678 D、12783456 程序3、如下图所示的窗体上有一个列表框和一个文本框,下面程序运行后,在文本框中输入“789”,然后双击列表框中的“463”,写出文本框中的显示结果。 Private Sub Form_Load() List1.AddItem "453" List1.AddItem "979" List1.AddItem "463" List1.AddItem "122" List1.AddItem "784" Text1.Text = "" End Sub Private Sub List1_DblClick() a = List1.Text Text1= a + Text1.Text End Sub 运行结果为: (38) A、1252 B、463 C、789463 D、463789 程序4、分析下段程序的功能是: Dim x0 As Single, y0 As Single Private Sub Picture1_MouseDown(Button As Integer, Shift As _ Integer, X As Single, Y As Single) X0= x: y0= y End Sub Private Sub picture1_MouseUp(Button As Integer, _ Shift As Integer, X As Single, Y As Single) Picture1.FillStyle=0 Picture1.FillColor=Vbgreen Picture1.Line (x0, y0)-(X, Y),vbred , BF End Sub (39)选项答案: A、在图片框控件Picture1上拖动鼠标后,绘制出一个矩形,图片框的左上角、抬起的位置分别为矩形斜对角线的定点,矩形轮廓线为红色,矩形内部填充色为红色。 B、在图片框控件Picture1上拖动鼠标后,绘制出一个矩形,图片框的左上角、抬起的位置分别为矩形斜对角线的定点,矩形轮廓线为红色,矩形内部填充色为绿色。 C、在图片框控件Picture1上拖动鼠标后,绘制出一个矩形,鼠标按下、抬起的位置分别为矩形斜对角线的定点,矩形轮廓线为红色,矩形内部填充色为红色。 D、在图片框控件Picture1上拖动鼠标后,绘制出一个矩形,鼠标按下、抬起的位置分别为矩形斜对角线的定点,矩形轮廓线为红色,矩形内部填充色为绿色。 程序5、在窗体上画一个名称为Command1的命令按钮,然后编写如下事件过程:Option Explicit Dim a As Long, b As Long, c As Long Private Function prime(x As Long) As Boolean Dim f As Boolean, k As Integer prime = True For k = 2 To x - 1 If x Mod k = 0 Then prime = False Exit For End If Next k End Function Private Sub command1_click() a = 5 b = 6 c = 9 If prime(a) Then Print prime(a) If Not prime(b) Then Print b If prime(c) Then Print c Else Print "Welcome!" End If End Sub (40)运行结果为: A、True B、5 6 6 Welcome! 9 C、True D、False False 6 Welcome! 9 程序6、依次画出下列程序运行时单击命令按钮Command1后四个图片框上图案的形状。 Private Sub Form_Load() Dim i As Byte For i = 0 To 3 Picture1(i).FillStyle = i Mod 2 Picture1(i).Cls Next i End Sub Private Sub Command1_Click() Dim i As Byte For i = 0 To 3 Picture1(i).Scale (-10, 10)-(10, -10) Next i Picture1(0).Line (-10, 10)-(0, 0) Picture1(0).Line -(-10, -10) Picture1(1).Circle (0, 0), 5 Picture1(2).Circle (0, 0), 5, , -3.14 / 6, -5 * 3.14 / 6 Picture1(3).Circle (0, 0), 5, , , , 1/2 End Sub (41) 答案选项: A、 B 、 C 、 D 、 五、程序设计题(第42题10分,第43题12分,共22分) 42、编写事件过程Command1_Click()程序,用InputBox 输入x 的值,计算并显示下列分段函数的值。(10分) ?? ? ??>+≤≤-?-<+=)2()4()22()()() 2()1/()(102x x Log x x Cos x Sin x x x x F 43、下列程序运行时,单击滚动条(Hscroll1)或拖动滚动条时可以控制标签文字的大小,并同 时在文本框中显示标签的字号。水平滚动条的取值范围为【12,72】,标签文字为心想事成,要求在改变字号时标签保持在窗体中水平居中,并且标签框的大小能随着字体大小自动调整。(12分)