2010~2011学年度第2学期期中考试试卷[B1]
考试科目:《Visual Basic程序设计》
考试形式:开卷-上机考答题时间:120分钟
班级学号姓名
一、选择题(2分/题,共20分)
1. 以下有关VB对象名称(Name)属性的叙述,正确的是_______。
A)对象的Name属性值可以为空
B)窗体的Name属性用来标识和引用窗体
C)可以在程序运行期间改变对象的Name属性值
D)窗体的Name属性值是显示在标题栏中的字符串
2. Visual Basic6.0集成环境的主窗口中不包括_______。
A)标题栏B)菜单栏C)状态栏D)工具栏
3.在开发VB应用程序时,一个工程一般至少应含有_______。
A)标准模块文件和类模块文件B)工程文件和窗体文件
C)工程文件和类模块文件D)工程文件和标准模块文件
4..为了使命令按钮(名称为Command1)右移200,应使用的语句是_______。A)Command1.Move -200
B)Command1.Move 200
C)Command1.Left= Command1.Left+200
D)Command1.Left= Command1.Left-200
5.当程序运行时,系统自动执行启动窗体的_______事件过程。
A)Click B)Load C)Unload D)GotFocus 6.Visual Basic有多种类型的窗口,若要在设计时看到窗体窗口,以下操作不正确的是________。
A)打开“视图”菜单,选择“对象窗口”
B)双击VB窗口工作区的空白处
C)单击“工程资源管理器”中的“查看对象”按钮
D)双击“工程资源管理器”中对应的窗体名
7.下面关于属性和方法的描述中,不正确的是________。
A)属性是对象的特征,方法是对象的行为
B)属性和方法都有值
C)属性可以被赋值
D)方法表示能执行的操作
8.下面关于标签和文本框的描述中,正确的是________。
A)文本框和标签都可以显示文字
B)文本框和标签都可以在运行时输入文字
C)文本框和标签都有Caption属性
D)文本框和标签都有Text属性
9.在一行内写多条语句时,每个语句之间用________来分隔。
A), B): C)、 D);
10.表达式 16/4-2^5*8/4 MOD 5\2的值为________。
A) 14 B) 4 C) 20 D) 2
二、读程填空题(每题4分,共32分)
阅读下列程序说明和程序,在每小题提供的若干可选答案中,挑选一个正确答案。
1. 【程序说明】随机产生n个100以内的正整数,放在数组A中存储。n由InputBox()输入,并每5个数据一行打印输出。
【程序】
Private Sub Command1_Click()
Dim a() As Integer
n = InputBox("请输入一个正整数")
ReDim (1)a(n)
For i = 1 To n
a(i) = Int(Rnd * 100)
Print (2)a(i);
If (3)I mod 5=0 then print
Next i
End Sub
【供选择的答案】
(1)A.a() B.a% C. n*i D. a(n)
(2)A. print j B. a(i); C. print n*i D. print n
(3)A. i=n B. i=0 C. I mod 5=0 D. i\5
2. 【程序说明】用Array函数建立一个含有8个元素的数组,然后查找并输出该数组中元素的最大值
【程序】Option Base 1 (4)
Private Sub Command1_Click()
Dim arr1, i, Max as Integer
arr1=Array(12,435,76,24,78,54,866,43)
(5) Max=arr1(1)
For i=1 To 8
If arr1(i)>Max Then _(6)_ Max=arr1(i)
Next i
Print"最大值是:";Max
End Sub
【供选择的答案】
(4)A.dim array B. Option Base 1 C.const=12 D. dim a(5)(5)A.arr1(i) =12 B. arr1=12 C. n= n*i D. Max=arr1(1)
(6)A.arr1 (i )= Max B. Exit for C. Max=arr1(i) D. i=i+1
3. 【程序说明】产生100个1~4之间的随机整数,并进行统计。数组元素
S(i)(i=1,2,3,4)的值表示等于i的随机数的个数,要求输出如下格式:
S(1)=. . . S(2)=. . S(3)=. . . S(4)=. . .
【程序】
Dim S(4) As Integer
Randomize
For I=1 To 100
X=Int(Rnd * 4+1)
S(x)= S(x)+1 (7)
Next I
For I=1 To 4
Print "S(";I;")=";S(I) , (8)
Next I
【供选择的答案】
(7)A. s(i)-1 B. S(x)+1 C. n*i D. s(i)+1
(8)A. "S(x)=";S(I) B. s(i); C. "S(I)=";S(I) D. "S(";I;")=";S(I) ,
三、编程题(4*12=48分)
1.通过使用MsgBox()输出对学号和密码进行验证的结果。要求:⑴学号为数字,输入非数字字符则给出提示;⑵密码为“TJin1234”,输入不正确,提示信息,若单击“取消”按钮,则结束程序;⑶以上两者都输入正确,也给出提示成功的信息。提示信息对话框效果如下图所示。(12分)
2.输入一串字符,统计各个英文字母出现的次数(大小写不区分),并对出现的字母显示其出现的个数,运行界面如下图所示。(12分)
3.随机产生10个100~200之间的数(含100与200),求最大值与最小值。要求将原始的10个数与最大、最小值用Print语句直接输出在窗体上,并有相应的提示文字,如下图所示。(12分)
4.建立一个7行7列的二维数组,两条对角线上的元素为1,其余元素为0,并在窗体上显示输出。(12分)
浙江树人大学
2010~2011学年度第2学期期中考试试卷[B1] 考试课目:《Visual Basic程序设计》答题纸
班级
学号姓名
题号一二三四总分
分数
题号 1 2 3 4 5 6 7 8 9 10
答案 b c b c b b b a b b
二、读程选择填空题(每空4分,共32分)
A B C D A B C D
(1) √(5) √
(2) √(6) √
(3) √(7) √
(4) √(8) √
三、编程题(48分。各题程序调试后的源代码要写在试卷上的各小题后面,程序的源代码和试卷WORD文档一同打包后提交到服务器的ftp上)1.通过使用MsgBox()输出对学号和密码进行验证的结果。要求:⑴学号为数字,输入非数字字符则给出提示;⑵密码为“TJin1234”,输入不正确,提示信息,若单击“取消”按钮,则结束程序;⑶以上两者都输入正确,也给出提示成功的信息。提示信息对话框效果如下图所示。(12分)
参考答案:
Private Sub Command1_Click()
End
End Sub
Private Sub Command2_Click()
If Not IsNumeric(Text1) Then
MsgBox "学号中有非数字字符!", 64, "提示"
Text1 = ""
Text1.SetFocus
ElseIf Text2 = "TJin1234" Then
MsgBox "您成功进入系统。", 48, "成功"
Else
a = MsgBox("密码错误," + Chr(13) + Chr(10) + "您不能进入系统。", 5 + 16, "
警告")
If a = 4 Then
Text2 = ""
Text2.SetFocus
Else
Command1_Click
End If
End If
End Sub
2.输入一串字符,统计各个英文字母出现的次数(大小写不区分),并对出现的字母显示其出现的个数,运行界面如下图所示。(12分)
参考答案2:
Private Sub Command1_Click()
Picture1.Cls
Dim i%, s$, c As String * 1, l%, k%
Dim arr(1 To 26) As Integer
s = Text1.Text
l = Len(s)
For i = 1 To l
c = UCase(Mid(s, i, 1))
If c >= "A" And c
arr(Asc(c) - 65 + 1) = arr(Asc(c) - 65 + 1) + 1
End If
Next i
k = 0
For i = 1 To 26
If arr(i) 0 Then
Picture1.Print Chr(i + 64) & "=" & arr(i); " ";
k = k + 1
If k Mod 6 = 0 Then Picture1.Print
End If
Next i
End Sub
3.随机产生10个100~200之间的数(含100与200),求最大值与最小值。要求将原始的10个数与最大、最小值用Print语句直接输出在窗体上,并有相应的提示文字,如下图所示。(12分)
参考答案3:
Private Sub Command1_Click()
Print "产生10个100--200之间的数:"
Randomize
Max = 100: Min = 200
For i = 1 To 10
x = Int(Rnd * 101 + 100)
Print x;
If x > Max Then Max = x
If x
Next i
Print "最大值="; Max
Print "最小值="; Min
End Sub
4.建立一个7行7列的二维数组,两条对角线上的元素为1,其余元素为0,并在窗体上显示输出。(12分)
Private Sub Form_Click()
Dim s%(1 To 7, 1 To 7), i%, j%
For i = 1 To 7
For j = 1 To 7
If i = j Or i + j = 8 Then
s(i, j) = 1
Else
s(i, j) = 0
End If
Print s(i, j);
Next j
Next i
End Sub