VB期中考试试卷-及参考答案(B1卷)-
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.在一行内写多条语句时,每个语句之间用 ___ 来分隔。
10.表达式 16/4-2^5*8/4 MOD 5\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)
Prin t (2) a(i);
If ( 3) I mod 5=0
A ) ,
B )
C ) 、
D )
A ) 14
B ) 4
C ) 20
Next i
then print
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 之间的 小值。要求将原始的 10 个数
与最大、 体上,并有相应的提示文字,如下图所示。 (12 分)
(含 100 与 200 ),求最大
值与最 最小值用 Print 语句
直接输出在窗
4.建立一个7 行7 列的二维数组,两条对角线
1,其余元素上的元素为为0,并在窗体上显示输出。(12
分)
浙江树人大学
2010~2011学年度第 2 学期期中考试试卷 [B1] 考试
课目:《 Visual Basic 程序设计》答题纸
班级学号姓名
、选择题( 10*2=20 分)
、读程选择填空题(每空 4 分,共 32分)
请在各小题正确选项的对应位置处填“ √
三、编程题(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 <= "Z" Then
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 < Min Then Min = x
Next i
Print " 最大值="; Max
Print " 最小值="; Min
End Sub
1,其余元素4.建立一个7 行7 列的二维数组,两条对角线上的
元素为为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 Print
Next i End Sub