vb作业集 - 2014 -

1.你预习了本章内容了吗?共花时间 分

2.你复习了上一堂课内容吗?共花时间 分

3.你作业做了吗? 4.作业是自己做的吗?

一、判断题

1.数组中所有元素的数据类型不一定相同。

2.可以在程序中使用Redim语句来改变动态数组的大小、维数和类型。 3.数组的下界一定是0。

4.定义数组时,其下界只能为正整数。

5.可以在通用的声明部分使用Option Base -1语句把数组下标下界的默认值设置为-1。 6.在Vb中,用Dim定义数组时,数组元素将自动赋初值为0。 二、选择题

1. 定义数组A(1 To 5, 5)后,下列哪一个数组元素不存在: 。 (A)A(1,1) (B)A(1,0) (C)A(0,1) (D)(5,5)

2. 在过程中定义Dim A(1 To 10, 3 ) As Single ,则数组占用 字节的空间。 (A)132 (B)80 (C) 160 (D)120

3. 下列关于数组的说法正确的是 。

(A)在VB中,一个数组中所包含的元素只能是相同类型的数据。 (B)在VB中,数组只能在模块中定义,不能在过程中定义模块。 (C)同普通变量一样,数组也可以不定义,先使用。

(D)在定义数组时,数组的每一维元素的个数必须是常数,不能是变量或表达式。 4.已知数组b中的5个元素分别是1,3,5,7,9,现将数组b中的5个数逆序存放(即排列为9,7,5,3,1)。为实现此功能,正确的程序段应该是: 。

A.For i = 0 To 5-1\\2: temp = b(i): b(i) = b(5 - i - 1): b(5 - i - 1) = temp: Next i B.For i = 0 To 5: temp = b(i): b(i) = b(5 - i - 1): b(5 - i - 1) = temp: Next i C.For i = 0 To 5\\2: temp = b(i): b(i) = b(5 - i - 1): b(5 - i - 1) = temp: Next i D.For i = 1 To 5\\2: temp = b(i): b(i) = b(5 - i - 1): b(5 - i - 1) = temp: Next i 三、程序阅读题

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

Option Base 1

Private Sub Command1_Click()

Dim a(1 To 4) As Integer, i As Integer, j As Integer Dim s As Long

For i = 1 To 4: a(i) = i: Next i j = 1

For i = 4 To 1 Step -1 s = s + a(i) * j

21

VB网络课堂:info.zjfc.edu.cn/vbweb

结果: j = j * 10 Next i Print s End Sub

运行上面的程序,单击命令按钮,其输出结果是 。 2. 请写出单击窗体后,窗体上的显示结果。

Option Base 1

Private Sub Form_Click()

Dim a(4, 4) As Integer, i As Integer Dim j As Integer For i = 1 To 4 For j = 1 To 4

a(i, j) = i * 10 + j Next j Next i

For i = 1 To 4 For j = 1 To 4 Print a(i, j); Next j Print Next i End Sub

结果: 3.写出程序运行后,单击窗体Form1上显示的内容。

Private Sub Form_Click()

Dim ary(1 To 4) As Integer Dim i As Integer Dim Sum As Integer For i = 1 To 4 ary(i) = i

Sum = Sum + ary(i) Print ary(i); Next i Print

Print \End Sub

结果: 4.请写出单击窗体后,窗体上的显示结果。

Private Sub Form_Click() Dim a(5, 5) As Byte

For i% = 1 To 5 : For j% = 1 To 5 a(i%, j%) = i% * j% Next j%, i%

For i% = 1 To 5 : Print a(i%, i%); : Next i% End Sub

结果: 四、程序填空题

1. 以下程序产生30个两位随机整数、并按从小到大的顺序存入数组a中,再将其中的奇数按从小到大的顺序在窗体中用紧凑格式输出。

Private Sub Form Click()

22

VB网络课堂:info.zjfc.edu.cn/vbweb

Dim a(30) As byte, i as Byte, j As Byte, m As Byte For i = 1 To 30 : a(i) = ⑴ : Next i For i = 1 To 29

For j = ⑵ If a(i) > a(j) Then

m = a(i) : ⑶ : a(j) = m End If Next j, i

For i = 1 To 30

If ⑷ Then Print a(i); Next i End Sub

2. 下面的过程用来输出如下图形,但不完整,请在横线上填入必要的内容,使其完整。

图1 下三角图形

Option Base 1

Private Sub Form_Click() Dim a(5, 5) As Integer

Dim i As Integer, j As Integer For i = 1 To 5 For j = 1 To 5 If j <= i Then (5) End If

Print a(i, j); \Next j

(6) Next i End Sub

3、用筛选法求m以内的所有素数。 (1)把2—m以内的所有数放入筛中;

(2)找筛中最小的素数,在筛中去掉该素数的所有倍数;

(3)重复(2),直到要找的筛中的最小素数已超出m的范围; (4)打印筛中的素数。

Private Sub txtinput_KeyPress(KeyAscii As Integer) Dim i As Integer, j As Integer

23

VB网络课堂:info.zjfc.edu.cn/vbweb

Dim prime(1000) As Integer Dim m As Integer, p As Integer Dim flag As Boolean If KeyAscii = 13 Then

m = ________(7)_________ For i = 2 To m - 1 '筛子充满数 prime(i) = 1 Next i p = 2 flag = True Do

Do While p < m And prime(p) = 0 '找筛子中最小的素数 p= ________(8)_________

Loop

If p = m Then flag =________(9)_________ '筛子中的数全求过结束 For i = p + p To m - 1 Step p '在筛子中清除该素数的倍数 prime(i) = 0

Next i p = p + 1

Loop While flag = True i = 0

For j = 2 To m - 1 '打印素数 If ________(10)_________Then Picture1.Print j; i = i + 1

If i Mod 5 = 0 Then Picture1.Print '一行打印5个素数 ________(11)_________ Next j End If End Sub

4.【程序说明】 以下程序代码将任意一组数存入数组,从键盘接收一数据,将其插入数组中,插入的位置也从键盘输入。

Dim A() As Integer

Private Sub Form_Click()

N = InputBox(\原始数据个数:\原始数据个数 (12)

ReDim A(1 To N) As Integer For I = 1 To N - 1

A(I) = Val(InputBox(\原数据:\原数据输入 Next I

24

VB网络课堂:info.zjfc.edu.cn/vbweb

联系客服:779662525#qq.com(#替换为@)