项目九 第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。 原创精品资源学科网独家享有版权,侵权必究! 学科网(北京)股份有限公司 $

资源预览图

项目九 第29练 一维静态数组的程序设计《Visual  Basic 程序设计》(电工版第六版)一课一练-第1页
1
项目九 第29练 一维静态数组的程序设计《Visual  Basic 程序设计》(电工版第六版)一课一练-第2页
2

由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。