第6章 过 程
(14)阅读下面的程序段:
For i = 1 To 3
For j = 1 To I
For k = j To 3
a = a + 1 Next k
Next j Next I
执行上面的三重循环后,a 的值为_____。 A.3 B.9 C.14 D.21
(15)下述对控件数组描述中,正确的是_____。 A.组成控件数组的控件所有的属性值都相同 B.按钮与文本可以组成控件数组 C.窗体也可以创建成控件数组
D.控件数组的外观可以不相同
2、填空题:
(1)以下程序代码将具有100个元素的数组A按每行10个数的形式赋值给二维数组B。即将A(1)到A(10)依次赋值给B(1, 1)到B(1, 10),将A(11)到A(20)依次赋值给B(2, 1)到B(2, 10)。……,将A(91)到A(100)依次赋值给B(10, 1)到B(10, 10)。
Private Sub Command1_Click()
Dim A(1 To 100) As Integer, B(1 To 10, 1 To 10) As Integer For I = 1 To ___①___
A(I) = Int(Rnd * 5 + 1) Next I
For I = 1 To ___②___
For J = 1 To ___③___
B(I, J) = ___④___ Print B(I, J); Next J Print Next I End Sub
(2)以下程序代码使用二维数组A表示矩阵,实现单击命令按钮Command1时使矩阵的两条对角线上的元素值全为1,其余元素值全为0。
Private Sub Command1_Click()
- 11 -
第6章 过 程
Dim A(4, 4) For I = 1 To 4
For J = 1 To 4
A(___①___) = 0
Next J
A(___②___) = 1 A(___③___) = 1 Next I For I = 1 To 4
For J = 1 To 4
Print A(I, J); Next J Print
Next I End Sub
(3)以下程序代码实现单击命令按钮Commandl时生成20个(0,100)之间的随机整数,存于数组中,打印数组中大于50小于90的数,并求这些数的和。
Private Sub Command1_Click()
Dim arr(1 To 20) For i = 1 To 20
arr(i) = ___①___
Text1.Text = Text1.Text & arr(i) & Chr(13) & Chr(10) Next i
Sum = 0
For Each x ___②___
If ___③___ Then
Print Tab(20); x Sum = ___④___ End If Next ___⑤___
Print Tab(20); \End Sub
(4)以下程序的功能是重新排列数组a中的元素,使相等元素相邻存放,并且保持它们在数组中首次出现时的相对次序。请填空。
例如,原数组:1,2,4,3,3,2,3,1,5,4
重排后:1,1,2,2,3,3,3,4,4,5
排列的原理是先删去重复的元素,在根据元素在数组中出现的次数展开排列。
Private Sub Form_Click()
- 12 -
第6章 过 程
Dim a() As Integer, b() As Integer, n As Integer
Dim i As Integer, j As Integer, k As Integer, t As Integer, m As Integer n = 10
ReDim a(n), b(n)
a(1) = 1: a(2) = 2: a(3) = 4: a(4) = 3: a(5) = 3 a(6) = 2: a(7) = 3: a(8) = 1: a(9) = 5: a(10) = 4 m = 1 ___①___ Do While m <= t
k = 1: i = m + 1 Do While i <= t
If a(i) = a(m) Then
k = k + 1
For j = ___②___
a(j) = a(j + 1) Next j t = t - 1 Else
___③___ End If
Loop
b(m) = k: m = m + 1 Loop
For i = 1 To m - 1
Print a(i);
Next Print t = n
For i = m - 1 To 1 Step -1
For j = 1 To ___④___
a(t) = a(i) ___⑤___ Next j Next i For i = 1 To n
Print a(i); Next i End Sub
(5)以下程序代码生成大小可变的正方形图案,如图5-28图5-29所示,最外圈是第一
- 13 -
第6章 过 程
层,要求每层上用的数字与层数相同。
Option Base 1
Dim a() AS Integer
Private Sub Form_Click()
N=InputBox(“请输入行数:
”) ___①___
For i=___②___ ' i为层数
For j=i To n-i+1
For k=i To n-i+1 ___③___ Next k
Next j Next i
For i=1 To n
For j=1 To n
Print Tab(j*3);a(i,j); Next j ___④___
Next i End Sub
图5-28 n=6 图5-29 n=9
3、阅读题:
(1)阅读程序,写出程序运行后的输出结果:_____。
Private Sub Form_Click()
Dim M(10) As integer
For I=0 To 10
M(I)=2*I Next I
- 14 -
第6章 过 程
Print M(M(3)) End Sub
(2)阅读程序,写出程序运行后的输出结果:_____。
Private Sub Form_Click()
Dim M(2) As Integer
For i = 1 To 2
M(i) = 0 Next i k = 2
For i = 1 To k
For j = 1 To k
M(j) = M(i) + 1
Print M(k); Next j Next i End Sub
(3)阅读程序,写出程序运行后的输出结果:_____。
Private Sub Form_Click()
Dim A(10, 10)
For I = 2 To 4
For J = 4 To 5
A(I, J) = I * J Next J Next I
Print A(2, 5) + A(3, 4) + A(4, 5) End Sub
(4)阅读程序,写出程序运行后的输出结果:_____。
Private Sub Form_Click()
Dim M(5, 5) As Integer, S(5) As Integer
For I = 1 To 5
S(I) = 0
For J = 1 To 5
M(I, J) = I + J
S(I) = S(I) + M(I, J) Next J Next I
For Each X In S
Print X;
- 15 -