图3-4-4(b) 时钟控件Timer事件代码
5.解:
解题分析:求解本题需解决两个问题,一个是星空繁星,可在窗体上用窗体的坐标系通过Rnd随机函数产生随机点的当前坐标(CurrentX,CurrentY),星星的色彩也可使用Rnd生成随机三基色RBG,再通过窗体的Pset方法在窗体的当前坐标上画出指定颜色的点。采用循环语句重复画点就画出星空繁星。月全食可通过两个直径略有差异的圆形Shape控件,一个为白色的月亮(大的),另一个为地球的阴影(小的),月亮设定在窗体的中心,地球从窗体的边缘在时钟控件的控件下慢慢地向月亮移动,演示月全食。
操作步骤:
⑴在VB环境中创建工程、窗体,在窗体上添加两个形状控件。 ⑵设置相关控件的属性,见表3-4-5所示。
表3-4-5 各相关控件的属性及其值
控件名称 Shape1 Shape2 45-109
属性 Shape BackStyle BackColor Shape BackStyle 属性值 3 1 &H00FFFFFF& 3 1 说明 圆 背景不透明 白色月亮 圆 背景不透明
BackColor &H00000000% 黑色地球阴影 ⑶编写各相关控件的事件代码,见图3-4-5(a)所示 图3-4-5(a) 月全食程序代码
⑷按F5功能键,运行程序,观察程序运行结果。
习题五
一、单项选择题
1. Dim aa(10 to 20) 所定义的数组元素个数是_____。 A) 11 B)20 C)30 2. Dim ww(-1 to 2,-2 to 1) 所定义的数组元素个数是_____。 A) 9 B) 16 C) 4 3. Dim ww(3,3) 所定义的数组元素个数是_____。 A) 9 B) 4 C) 16 4.下列程序的输出结果是________。 Private Sub Command1_Click() Dim ww As Variant ww = Array(1, 2, 3, 4) Print ww(1) End Sub
46-109
D)10 D) 12 D) 12
A) 1 B) 2 C) 3 D) 4 5.下列程序的输出结果是________。 Private Sub Command1_Click() Dim tt
tt = Array(\合肥\上海\北京\天津\ For i = LBound(tt) To UBound(tt) tt(i) = tt(i) + \市\ Next i Print tt(3) End Sub
A) 合肥市 B) 上海市 C) 北京市 D) 天津市 6. 下列程序的输出结果是________。 Dim ww( )
Private Sub Command1_Click() Const tt = 6
ReDim ww(tt) As Integer For i = 1 To tt ww(i) = i * i Next i
Print ww(i) End Sub
A) 36 B) 49 C) 出错信息 D) 12
7. 在窗体上画一个名称为Textl的文本框和一个名称为Command l的命令按钮,然后编写如下事件过程:
Private Sub Command1_Click() Dim ww(10, 10) As Integer Dim i As Integer, j As Integer For i = 1 To 3 For j = 2 To 4 ww(i, j) = i + j Next j Next i
Text1.Text = ww(2, 3) + ww(3, 4) End Sub
程序运行后,单击命令按钮,在文本框中显示的值是________。 A) 12 B) 13 C) 14 D) 15 8.下列程序的输出结果是________。 Private Sub Command1_Click() Dim i As Integer, j As Integer
47-109
Dim a(10, 10) As Integer For i = 1 To 3 For j = 1 To 3
a(i, j) = (i - 1) * 3 + j Print a(i, j); Next j Print Next i End Sub
A) 1 2 3 B) 2 3 4 C) 1 4 7 2 4 6 3 4 5 2 5 8 3 6 9 4 5 6 3 6 9 9.下列程序的输出结果是________。 Option Base 1
Private Sub Command1_Click() Dim ww%(5), i% For i = 1 To 5 ww(i) = i * i Next i
Print ww(ww(2) * ww(3) - ww(4) * 2) + ww(1) End Sub
A) 17 B) 16 C) 15 10.下列程序的输出结果是________。 Option Base 1
Private Sub Form_Click()
Dim a(10) As Integer, b(5) As Integer, i% For i = 1 To 10 a(i) = 10 - i + 1
Next i
For i = 1 To 5 b(i) = a(2 * i - 1) + a(2 * i)
Next i
For i = 1 To 5 Print b(i);
Next i End Sub
A) 1 3 5 7 9 B) 2 4 6 8 10 C) 19 15 11 7 3 D) 3 7 11 15 19
48-109
D) 1 2 3 4 5 6 7 8 9 D) 14