VB实验指导习题 - 图文 下载本文

Private Sub Command1_Click( ) Dim n%,Factor%,First As Boolean n = InputBox("输入一个正整数") Factor = 2 First = True Do

Do While ________ `内循环考虑到有多个相同的质因数 If First Then

Print n;"=";Factor Else

Print"*";Factor End If ________ First = False Loop

Factor = Factor + 1 Loop Until Factor > n

End Sub

13. 以下程序的功能是:生成20个200—300之间的随机整数,输出其中能被5整除的数并求出它们的和。请填空。

Private Sub Cornrnand1_Click() For i=l To 20

x=Int(Rnd*200+100) If ______ Then Print x S=S+x End If Next i

Print \End Sub

14.在窗体上画一个命令按钮,其名称为Command1,然后编写如下事件过程:

Private Sub commandl- Click () a=1: b=a

Do Until a>=5 X=a*b

Print Str(a) &\a=a+b b=b+a Loop Print e End Sub

程序运行后,单击命令按钮,输出结果为 三. 编程题

1. 有一长阶梯,如果每步跨2阶最后剩1阶,如果每步跨3阶最后剩2阶,如果每步跨4

- 52 -

2.

3. 4. 5.

阶最后剩3阶,如果每步跨5阶最后剩4阶,如果每步跨6阶最后剩5阶,只有如果每步跨7阶时恰好走完,问这个阶梯有多少阶。

提示:利用其肯定是7的倍数这个条件,然后根据同时满足除n项余m(n = 2,3,4,5,6; m = 1,2,3,4,5)的逻辑关系即可。

一个球从100 m高度自由下落,每次落地后反跳回原高度的一半,再落下。求它在第10次落地时,共经过多少米?落地10次反弹高度多少? 提示:解题思路参照配套教材中猴子吃桃问题。 输出100~200之间不能被3整除的数。 求 n!(即输入n值,求出其阶乘)

第五章 数 组

一. 选择题

1. 如下数组声明语句,_________正确。

(A)Dim a [3,4] As Integer (B)Dim a(3,4) As Integer (C)Dim a (n,n) As Integer (D)Dim a (3 4) As Integer

?1.12.23.3???2. 要分配存放如下方阵的数据,4.45.56.6 ????7.78.89.9??可使用数组声明语句_________来实现(不能浪费空间)。

(A)Dim a (9) As Single (B)Dim a (3,3) As Single

(C)Dim a (- 1 To 1 , -5 To - 3) As Single (D)Dim a (- 3 To - 1 , 5 To 7) As Single 3. 如下数组声明语句中,数组a包含元素的个数为_________。 Dim a (3, -2 to 2,5)

(A)120 (B)75 (C)60 (D)13 4. 以下程序输出的结果是_________。 Dim a

a = Array (1,2,3,4,5,6,7)

For i = Lbound (a) To Ubound (a) a(i) = a(i) * a(i) Next i Print a(i)

(A)49 (B)0 (C)不确定 (D)程序出错 5. 以下程序输出的结果是_________。 Option Base 1

Private Sub Command1_Click( ) Dim a%(3,3) For i = 1 To 3 For j = 1 To 3

If j > 1 And i >1 Then

a(i,j) = a(i-1,j-1),a(i,j-1) ) + 1 Else

- 53 -

a(i,j) = i * j End If

Print a(i,j);""; Next j Print Next i End Sub

(A)1 2 3 (B)1 2 3 (C) 1 2 3 (D)1 1 1 2 3 1 1 2 3 2 4 6 2 2 2 3 2 3 1 2 3 3 6 9 3 3 3 6. 以下程序输出的结果是_________。 Option Base 1

Private Sub Command1_Click( ) Dim a,b (3,3)

a = Arrary(1,2,3,4,5,6,7,8,9) For i = 1 To 3 For j = 1 To 3 b(i,j) = a(i * j)

If (j > = i) Then Print Tab(j * 3) ; format(b(i,j),"###"); Next j Print Next i End Sub

(A)1 2 3 (B)1 (C)1 4 7 (D)1 2 3 4 5 6 4 5 2 4 6 4 6 7 8 9 7 8 9 3 6 9 9 7. 下列一维数组说明语句错误的是_________。

(A) Dim b(100) As Double (B) Dim b(-5 To 0) As Byte (C) Dim b(-10 to –20 ) As Integer (D) Dim b(5 to 5) As String

8. 若有数组说明语句为Dim a(-3 to 8) , 则数组a包含元素的个数是_________。 (A) 5 (B) 8 (C) 11 (D) 12

9. 设有数组说明语句Dim c(1 to 10) , 则下面表示数组c的元素选项中_________是错误的。 (A) c(I - 1) (B) c(5+0.5) (C) c(0) (D) c(10) 10. 下列数组说明语句中正确的是_________。

(A) Dim a(-1 to 5,8) As String (B) Dim a(n,n) As Integer

(C) Dim a(0 to 8,5 to -1 ) As Single (D) Dim a(10 to -10) As Double 11. 设有数组说明语句Dim b(2, 2) , 则数组b中元素的个数是_________。 (A) 9 (B) 4 (C) 16 (D) 20

12. 若有数组说明语句Dim a( ) As Integer, 则数组a被定义为_________。 (A) 定长数组 (B) 可调数组 (C) 静态数组 (D) 可变类型数组

13. 若有数组说明语句Dim t(1 to 10 ) As Variant, 则数组t被定义为_________。 (A) 数值数组 (B) 可调数组 (C) 字符串数组 (D) 可变类型数组 14.在窗体上画一个命令按钮,其名称为Command1,然后编写程序如下代码:

Option Base 1

- 54 -

Private Sub Command1-Click () Dim a

A=Array (1,2,3,4) j=1

For i=4 to 1 Step -1 s=a (i)*j Print s; Next i End Sub

程序运行后,单击命令按钮,其输出结果是_________

(A)4321 (B)1 (C)34 (D)1234 15.在窗体上画一个命令按钮,然后编写如下程序:

Option Base 1

Private Sub command1_Click() Dim arr(4, 4) For i = 1 To 4 For J = 1 To 4

arr(i, J) = (i - l) * 3 + J Next J Next i

For i = 1 To 2 For J = 1 To 2 Print arr(i, J); Next J Print Next i End Sub

程序运行后,单击命令按钮,输出结果是_________。

(A) 3 4 (B) 7 8 (C) 4 5 D) 4 5 6 7 10 12 7 8 6 7

16. 在窗体上画一个命令按钮,然后编写如下事件过程:

Private Sub Command1_Click() Dim a( )

a=Array(1,3,5,7) s=0

For i=0 To 3 s=s*10+a(i) next i print s End Sub

程序运行后,输出结果为_________ (A)1357 (B)357 (C)7531 (D)753

- 55 -