项目九 第29练 一维静态数组的程序设计《Visual Basic 程序设计》(电工版第六版)一课一练
|
2份
|
9页
|
51人阅读
|
2人下载
内容正文:
编写说明:考虑到中职学生普遍基础知识相对薄弱的情况,我们依据支架式教学理念,精心编制了《Visual Basic程序设计(第6版)》(电子工业出版社)一课一练。专辑里的每一份练习,都与课堂所授知识点紧密相关,题目围绕课堂所学知识点呈现。目的在于激发学生的学习兴趣,培养他们的学习自觉性,帮助学生扎实掌握课程的基本概念与基本方法,为他们后续的进一步提升奠定坚实基础。
本卷是《Visual Basic程序设计(第6版)》(电子工业出版社)一课一练的项目九的第29练,内容涵盖项目九数组相关内容。
《Visual Basic程序设计(第6版)》(电子工业出版社)第29练
项目九 数组
任务二 一维静态数组的程序设计
1、 单项选择题(本题共5小题)
1、下列 VB 代码中,正确声明一个可存储 5 个整数的一维数组的是( )
A. Dim arr (5) As Integer
B. Dim arr [1 To 5] As Integer
C. Dim arr (1 To 5) As Integer
D. Dim arr As Integer (5)
2、默认情况下,语句:Dim student(100) 定义的数组有( )个元素。
A.100
B.10
C.任意
D.101
3、若有数组声明语句Dim t(1 To 10) As Variant,则t被定义为( )。
A.数值数组
B.可调数组
C.字符串数组
D.可变类型数组
4、分析下列程序
Option Base 1
Private Sub Form_Click()
Dim a
a=Array(19,17,15,13,11,9,7,5,3,11)
For i=1 To 10
If a(i)/3=a(i)\3 Or a(i)/5=a(i)\5 Then
Sum=Sum+a(i)
End If
Next i
Print "Sum="; Sum
End Sub
运行时输出Sum的值是( )。
A.27 B.15 C.32 D.20
5、下列程序运行的结果是( )。
Private Sub Command1_Click()
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)
End Sub
A. 49
B. 36
C. 0
D. 下标越界
2、 填空题(本题共5小题)
1、执行Option Base 1后,声明Dim num(10)的数组,其元素个数为______;若未指定Option Base,默认下标从______开始。
2、要获取数组arr的下界和上界,分别使用______函数和______函数。
3、语句Dim a(3 To 6, - 2 To 2)所声明的数组的元素个数为_________。
4、声明Dim arr(1 To 5) As Integer后,执行Erase arr语句,数组中所有元素的值会被重置为______
5、对长度为n的一维数组进行冒泡排序,外层循环控制排序轮数,需循环______轮;内层循环控制每轮的比较次数,第i轮内层循环需比较______次。
三、程序填空题
1、在visual basic中,对具有10个数的数组,求最大值、平均值,数组中超过平均值的个数,并显示数组的值和计算的结果。
Option Base 1
Private Sub Form_Click()
Dim x, max As Integer, imax As Integer
Dim s As Integer, n As Integer
Dim avg As Integer, k
x = Array(1, 10, 2, 5, 8, 9, 6, 7, 3, 9)
Print x(1);
max = x(1): imax = 1: s = x(10)
For i = 2 To 10
x(i) = Int(100 * Rnd + 1)
Print x(i);
s = s + x(i)
If x(i) > max Then ______(1)____________
Next i
avg = s / 10
Print
For Each k In x
If _______(2)_________Then n = n + 1
Next k
Print max, avg, n
End Sub
原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
$
编写说明:考虑到中职学生普遍基础知识相对薄弱的情况,我们依据支架式教学理念,精心编制了《Visual Basic程序设计(第6版)》(电子工业出版社)一课一练。专辑里的每一份练习,都与课堂所授知识点紧密相关,题目围绕课堂所学知识点呈现。目的在于激发学生的学习兴趣,培养他们的学习自觉性,帮助学生扎实掌握课程的基本概念与基本方法,为他们后续的进一步提升奠定坚实基础。
本卷是《Visual Basic程序设计(第6版)》(电子工业出版社)一课一练的项目九的第29练,内容涵盖项目九数组相关内容。
《Visual Basic程序设计(第6版)》(电子工业出版社)第29练
项目九 数组
任务二 一维静态数组的程序设计
1、 单项选择题(本题共5小题)
1、下列 VB 代码中,正确声明一个可存储 5 个整数的一维数组的是( )
A. Dim arr (5) As Integer
B. Dim arr [1 To 5] As Integer
C. Dim arr (1 To 5) As Integer
D. Dim arr As Integer (5)
【答案】 C
【解析】VB 数组声明用圆括号()(而非方括号),arr(1 To 5)明确指定下标范围 1-5(共 5 个元素);arr(5)下标 0-5(共 6 个元素)。
2、默认情况下,语句:Dim student(100) 定义的数组有( )个元素。
A.100
B.10
C.任意
D.101
【答案】 D
【解析】VB 中如果只给数组声明一个数字(如100),默认下标从 0 开始,到声明的数字(100)结束。
3、若有数组声明语句Dim t(1 To 10) As Variant,则t被定义为( )。
A.数值数组
B.可调数组
C.字符串数组
D.可变类型数组
【答案】D
【解析】Variant(变体类型)代表的是VB 的可变数据类型。
4、分析下列程序
Option Base 1
Private Sub Form_Click()
Dim a
a=Array(19,17,15,13,11,9,7,5,3,11)
For i=1 To 10
If a(i)/3=a(i)\3 Or a(i)/5=a(i)\5 Then
Sum=Sum+a(i)
End If
Next i
Print "Sum="; Sum
End Sub
运行时输出Sum的值是( )。
A.27 B.15 C.32 D.20
【答案】 C
【解析】条件a(i)/3=a(i)\3 Or a(i)/5=a(i)\5:判断元素是否是3 的倍数 或 5 的倍数。
5、下列程序运行的结果是( )。
Private Sub Command1_Click()
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)
End Sub
A. 49
B. 36
C. 0
D. 下标越界
【答案】 D
【解析】循环过程:i依次取 0、1、2、3、4、5、6,完成所有元素的平方计算;Next i执行后,i会自动加 1,最终i=7(超出数组上界 6)。
2、 填空题(本题共5小题)
1、执行Option Base 1后,声明Dim num(10)的数组,其元素个数为______;若未指定Option Base,默认下标从______开始。
【答案】 10;0
【解析】Option Base 1指定下标从 1 开始,num(10)下标 1-10(10 个元素);默认Option Base 0,下标从 0 开始。
2、要获取数组arr的下界和上界,分别使用______函数和______函数。
【答案】LBound(arr) ;UBound(arr)
【解析】UBound获取上界,LBound获取下界。
3、语句Dim a(3 To 6, - 2 To 2)所声明的数组的元素个数为_________。
【答案】20
【解析】多维数组的总元素个数 = 每一维的元素个数相乘,而每一维的元素个数 = 该维上界 - 该维下界 + 1。
4、声明Dim arr(1 To 5) As Integer后,执行Erase arr语句,数组中所有元素的值会被重置为______
【答案】 0
【解析】Erase对固定长度整型数组的作用是重置所有元素为默认值为0。
5、对长度为n的一维数组进行冒泡排序,外层循环控制排序轮数,需循环______轮;内层循环控制每轮的比较次数,第i轮内层循环需比较______次。
【答案】n-1;n-i
【解析】长度为n的数组,最多需要n-1轮排序,第i轮已确定i个元素的位置,因此内层循环只需比较n-i次。
三、程序填空题
1、在visual basic中,对具有10个数的数组,求最大值、平均值,数组中超过平均值的个数,并显示数组的值和计算的结果。
Option Base 1
Private Sub Form_Click()
Dim x, max As Integer, imax As Integer
Dim s As Integer, n As Integer
Dim avg As Integer, k
x = Array(1, 10, 2, 5, 8, 9, 6, 7, 3, 9)
Print x(1);
max = x(1): imax = 1: s = x(10)
For i = 2 To 10
x(i) = Int(100 * Rnd + 1)
Print x(i);
s = s + x(i)
If x(i) > max Then _____(1)_____________
Next i
avg = s / 10
Print
For Each k In x
If _______(2)_________Then n = n + 1
Next k
Print max, avg, n
End Sub
【答案】
(1)max = x(i)
(2)k > avg
【解析】遍历数组时,若当前元素比已记录的最大值大,就更新最大值max,遍历数组每个元素k,若k大于平均值avg,则统计个数n加 1。
原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
$