可视化程序设计(VB)
一、填空题(32分,共 8 题,每小题 4 分)
1.要使用通用对话框控件,必须首先在“部件”对话框中选择 ______ ,将其添加到工具箱中。
2.运行时,要使工具栏Toolbarl中索引值为4的按钮无效(变成灰色),应使用语句: ______ 。
3.运行时,要使工具栏控件Toolbarl中的第二个按钮的按钮菜单中的第三项无效(变成灰色),应使用语句: ______ 。
4.在用手工方式设计工具栏时,可以设置工具按钮的 ______ 属性为其添加功能提示。
5.用户自定义类型中的元素类型可以是字符串,但该字符串必须是 ______ 。
6.设a=sqr(2)*sqr(3),下列语句的输出结果分别是 。print format$(a,\"000.00\")
print format$(a,\"###.#00\")
print format$(a,\"00.00E+00\")
print format$(a,\"-#.####\")
7.如果需要将窗体载入内存却不显示,需要将该窗体的 ______ 属性设置为False,再用 ______ 语句装载。
8.随机产生一个范围是(100,300)的整数,表达式为 ______ 。
二、程序阅读题(24分,共 3 题,每小题 8 分)
1.写出下列事件过程的执行结果。
Private Sub Command1_Click()
s3 (1) s3 (1)
End Sub
Private Sub s3(ByVal a As Integer)
Dim x As Integer Static y As Integer
x=x+a
y=y+a
Print \"x=\"; x, \"y=\"; y
End Sub
2.下列标准模块和窗体模块的功能是给通信录文件“d:\\txrf1.dat”添加新记录,在横线上填上适当内容。
标准模块:
Type txr num As Integer name As String * 10 tel As String * 8 addr As String * 20
End Type
窗体模块:
Private Sub Command1_Click()
Dim n%, zgr As txr Open \"d:\\txrf1.dat\"
For Random As #1
Len = Len(zgr)
zgr.num = InputBox(\"输入新职工编号:\")
zgr.name = InputBox(\"输入新职工姓名:\")
zgr.tel = InputBox(\"输入新职工电话号码:\")
zgr.addr = InputBox(\"输入新职工住址:\")
n = (1) (2)
Close #1
End Sub
3.本程序有一个标准模块和一个窗体模块。Sub main过程是本程序的启动过程,其他过程是窗体模块的事件过程。执行本程序,写出依次单击命令按钮commandl和command2,在窗体上分别输出的3行结果。
标准模块:
Public X As Integer Sub main( )
X=5
Form1.Show
Form1.Print X
End Sub
窗体模块
Dim y As Integer
Private Sub command1_click()
y=X*2
Print y
End Sub
Private Sub command2_click()
y=X/2 Print y
End Sub
三、问答题(24分,共 3 题,每小题 8 分)
1.VB坐标系中旋转什么方向是正向
2.什么是“内外循环交叉”?
3.Now函数和Date函数有何区别?
四、程序设计题(20分,共 1 题,每小题 20 分)
利用随机函数,模拟投币结果。设共投币100次,求“两个正面”、“两个反面”、“一正一反”3种情况各出现多少次?
答案:
一、填空题(32分,共 8 题,每小题 4 分)
1.
参考答案:
Microsoft Common Dialog Controls 6.0
解题方案:
评分标准:
2.
参考答案:
Toolbarl.Buttons(4).Enabled=False
解题方案:
评分标准:
3.
参考答案:
Toolbarl.Buttons(2).ButtonMenus(3).Enabled=False
解题方案:
评分标准:
4.
参考答案:
ToolTipText
解题方案:
评分标准:
5.
参考答案:
定长字符串
解题方案:
评分标准:
6.
参考答案:
002.
45、
2.4
49、
24.49E-0
1、
-2.4495
解题方案:
评分标准:
7.
参考答案:
Visable;Load
解题方案:
评分标准:
8.
参考答案:
100 + Rnd * 200
解题方案:
评分标准:
二、程序阅读题(24分,共 3 题,每小题 8 分)
1.
参考答案:
执行结果为: x=1 y=1 x=1 y=2
解题方案:
过程调用
评分标准:
6
2.
参考答案:
(1) LOF(1) / Len(zgr) + 1 (2) Put #1, n, zgr
解题方案:
标准模块和窗体模块应用
评分标准:
6
3.
参考答案:
执行结果为: 5 10 2
解题方案:
区别标准模块与窗体模块
评分标准:
6三、问答题(24分,共 3 题,每小题 8 分)
1.
参考答案:
在VB坐标系中,逆时针方向为正,各绘图方法都参照此坐标系。计算对象的坐标点时务必注意这一点。
解题方案:
评分标准:
2.
参考答案:
循环嵌套时,内外循环交叉。
For i=1 ito 4
For j= 1 to 5 „
Next i
Next j
上述循环的交叉,运行时显示“无效的Next控制变量引用”。外循环必须完全包含内循环,不得交叉。
解题方案:
评分标准:
3.
参考答案:
Now函数和Date函数都是求当前机器内日期,不同之处是Now函数除日期外还带回时间。
解题方案:
时间函数
评分标准:
四、程序设计题(20分,共 1 题,每小题 20 分)
0.
参考答案:
Private Sub Form_Click()
Randomize Timer
Dim a(1, 1)
For i=1 To 100
n1=Int(Rnd*2)
n1=Int(Rnd*2)
a(n1, n2)=a(n1, n2)+1
Next i
Print \"投币结果如下:\"
Print \" ~~~~~~~~~~~~~\"
Print \" 两个正面的次数为:\"; a(0, 0)
Print \"两个反面的次数为:\"; a(1, l)
Print \"一正一反的次数为:\"; a(0, 1) + a(1, 0)
End Sub
解题方案:
使用循环控制设计算法 评分标准:
循环5分,算法5分