专题六 数组(课件)-《Visual Basic 程序设计》高考备考讲练测(内蒙古)

2025-10-29
| 39页
| 85人阅读
| 0人下载
精品

内容正文:

专题六 数组 Visual Basic程序设计 专题复习讲练测 掌握国家标准《机械制图》中有关图幅、比例、字体图线等基本规定。 考纲要求 一 1.数组基础知识 2.静态数组 3.动态数组 4.控件数组 5.常用算法实例 知识点梳理 二 知识点梳理 二 一:数组的基础知识 1.数组的概念 数组指是用同一个名字来组织一组相同类型的变量,数组中的变量称为元素,数组中的每个元素都有一个唯一的下标来标识自己,使用数组可以缩短和简化程序。数组元素的个数称为数组的长度。 数组的各个元素在内存中是连续存放的,数组名表示这个连续数据区域的名称,下标表示该元素在内存中的位置。一般格式: s(n);其中:s称为数组名,n是下标。 知识点梳理 二 2.数组的命名规则 数组名的命名规则与简单变量的命名规则一样,即由1~40个字符组成,组成的字符可以是字母、数字或小数点,并且必须以字母开头,当有类型声明符时,必须放在尾部。 3.数组的维数 (1)一维数组:数组中的所有元素,能按行、列顺序排成一行,即用一个下标便可以确定它们各自所处的位置。 知识点梳理 二 (2)二维数组:数组中的所有元素,能按行、列顺序排成一个矩阵,即必须用两个下标才能确定它们各自所处的位置。 (3)三维数组:由三个下标才能确定所处位置。 4.数组元素 数组内的每一个成员称为数组元素 。数组元素的类型也就是数组的类型。数组元素的一般形式如:数组名(下标1[,下标2,…])。每个数组元素都有各自的编号即下标,下标确定了数组元素在数组中的位置。 知识点梳理 二 二:静态数组 静态数组在声明的时候即确定数组中元素的个数(数组中元素的个数是固定不变的)。 1.静态数组声明的语法格式 (1)一维数组定义格式 Dim 数组名([下界 to] 上界) [As 数据类型] 知识点梳理 二 二:静态数组 (2)二维数组定义格式 Dim 数组名([第一维下标下界 To ]第一维下标上界,[第二维下标下界 To ]第二维下标界 ) As 类型名称 说明: ①下界缺省为0,也可重新定义默认的数组的下界。例如:Option Base 1 ②错误的声明,下标是变量 。如:n =Inputbox(“输入n”):Dim x(n) As Single 知识点梳理 二 ③在数组声明中的下标说明了数组的整体,即每维的大小。 ④一维数组长度:上界-下界+1,上界可省略,当省略时上界为0。二维数组中元素个数为:(上界1--下界1+1)*(上界2--下界2+1) ⑤一维数组中引用数组元素的格式为:数组名(下标) 下界≤下标≤上界。 ⑥二维数组元素的格式为:数组名(下标1,下标2), 下界1≤下标1≤上界1,下界2≤下标2≤上界2。 知识点梳理 二 三:动态数组 1.动态数组的定义 (1)在窗体、标准模块和过程中用Dim或Public声明一个没有下标的数组(括号不能省略);如:dim a( ) as integer (2)数组重定义。在过程中需要使用该数组前,用Redim语句定义数组的大小(数组元素个数),下标可为常量、变量或表达式,但变量或表达式此时必须有值。如:Redim a(4)。 知识点梳理 二 三:动态数组 1.动态数组的定义 (3)语法格式: Dim 数组名( )[As 类型],… ReDim [Preserve]数组名(下标[,下标2…] ) [As 类型],… 说明: ①在过程中可多次使用ReDim来改变数组的大小和维数,但不许改变类型。 ②使用ReDim语句将重新对数组元素进行初始化,会使原来数组中的值丢失, 知识点梳理 二 可以在ReDim语句后加Preserve参数来保留数组中的数据。使用Preserve只能改变最后一维的大小,前面几维大小不能改变。 ③ ReDim中的下标可以是常量,也可以是有了确定值的变量 ⑤使用时注意下标的范围。不要越界。 四:For Each…Next语句 For Each…Next语句是专门针对一个数组或集中的每个元素执行重复语句。 知识点梳理 二 一般格式: For Each 成员 In 数组 循环语句序列 [Exit For] 循环语句序列 Next [成员] 说明: (1)成员:相当于一个循环变量,它表示数组中的每个元素; (2)数组:为一个数组名称; (3)For Each …Next语句主要用来对数组元素进行处理,包括查询、显示或读取。它执行的次数由数组元素的个数决定。 知识点梳理 二 五:控件数组 1.控件数组的概念 控件数组是由一组相同类型的控件组成,使用相同的名称,具有基本相同的属性,执行不同的功能。 2.控件数组的特点 (1)这些控件由控件数组的下标来区别,而下标由每个控件的唯一标识索引号(Index)来标识,通过Index属性即可区别控件数组元素,Index从0 开始取值。 知识点梳理 二 (2)同一个控件数组的所有元素,具有相同的Name属性值,但对于其他属性则没有规定必须完全相同; (3)控件数组的所有元素,共享同样的事件过程,故控件数组适用于若干个控件执行的操作相似的场合。为区分触发某个事件是由哪个控件触发的,VB会把该控件的下标索引值(Index)值传递给过程。 3.建立控件数组的3种方法 (1)创建同名控件 ;(2)复制现存控件 ;(3)运用代码产生控件数组 。 知识点梳理 二 六:常用算法实例 选择排序法 (1)对n个数排序,先将第一个数与第二个数到第n个数逐一比较,找出最小数的位置i(下标),然后将a(1)与a(i)进行交换,将最小数存放在a(1)中; (2)然后将第二个数依次与第三个到第n个数逐一进行比较,找出第二个到第n个数中最小数,然后将a(2)与a(i)进行交换,最终这n个数中的次小数放在a(2)中; (3)重复上面的步骤,直到排序结束为止(n-1); 知识点梳理 二 六:常用算法实例 选择排序法 知识点梳理 二 程序代码如下: Private Sub Command1_Click() Dim a(), n%, i%, j%, t%,k% a = Array(8, 6, 9, 3, 2, 7) n = UBound(a) For i = 0 To n-1 '双重循环找最小值下标 k=i For j = i+1 To n If a(j) < a(k) Then k = j '后项比前项小 Next t = a(i):a(i) = a(k): a(k) = t '交换值 Next For i = 0 To n Print a(i) ; Next End Sub 知识点梳理 二 六:常用算法实例 冒泡排序法 冒泡排序的基本思想:冒泡排序法就是每次将两个相邻的数进行比较,并将比较得的大(小)数调换(或称“下沉”)到下面,直至有序。 知识点梳理 二 程序代码: Private Sub Command1_Click() Dim a(), n%, i%, j%, t% Print a = Array(8, 6, 9, 3, 2, 7) n = UBound(a) For i = 0 To n - 1 For j = i+1 To n If a(i) > a(j) Then t = a(i ): a(i) = a(j): a(j) = t End If Next Next For i = 0 To n Print a(i) ; Next End Sub 真题讲练 三 1.数组 a(-3 to5,4)中共有( )个元素。 A. 45 B. 32 C. 36 D. 40 【答案】A 【解析】在 Visual Basic 中,数组元素的个数可通过各维度的长度计算得出,公式为:各维度(上界 - 下界 + 1)的乘积。 真题讲练 三 2.下列关于数组的说法中,正确的是( ) A.一个数组中只能包含相同类型的数据 B.数组只能在模块中定义,不能在过程中定义 C.在有些情况下,数组与普通变量一样可以不定义,先使用 D.定义数组时,数组中的每一维元素的个数必须是常量,不能是变量或表达式 【答案】A 【解析】数组既可以在模块级定义,也可以在过程内部定义; 在 VB 中,数组必须先定义后使用,定义数组时,除了可以使用常量指定维度大小,还可以使用 “动态数组”:先声明时不指定大小。 真题讲练 三 3.设有如下数组声明语句:Dim arr(-2 To 2,0 To 3) As Integer该数组所包含的数组元素个数是( ) A.20 B.1 C.15 D.12 【答案】A 【解析】在 Visual Basic 中,数组元素的个数可通过各维度的长度计算得出,公式为:各维度(上界 - 下界 + 1)的乘积。 真题讲练 三 4.在窗体上画一个名称为 Label1 的标签,然后编写如下事件过程: Private Sub Form_Click( ) Dim arr(10, 10) As Integer Dim i As Integer, j As Integer For i = 1 To 4 For j = 2 To 4 arr(i, j) = i * j Next j Next i Label1.Caption = Str(arr(2, 3) + arr(3, 4)) End Sub 真题讲练 三 程序运行后,单击窗体,在标签中显示的内容是( ) A. 12 B. 13 C. 15 D. 18 【答案】D 【解析】程序通过嵌套循环给二维数组arr的部分元素赋值,然后计算指定元素的和并显示。 真题讲练 三 5.设有如下程序: Private Sub form_Click() Dim a(10) As Integer,p(3) As Integer K=5 For i=1 to 10 a(i)=i Next i For i=1 to 3 P(i)=a(i*i) Next i For i=1 to 3 K=k+p(i)*2 Next i Print k End Sub 真题讲练 三 程序运行后,单击窗体,则在窗体上显示的是( ) A. 33 B.35 C.37 D.38 【答案】A 【解析】在 VB 中数组默认下界为 0,k的初始值是 5,三次累加:第一次:5 + 1×2 = 7第二次:7 + 4×2 = 15;第三次:15 + 9×2 = 33。 限时练习 四 1.以下有关数组说明中,错误的是( )。 A.在通用声明区可用Private 语句声明数组 B.根据数组大小是否可变,可将数组分为动态数组和静态数组 C.用ReDim语句重新建立数组后,原有的数组元素内容将不予保留 D.用ReDim语句重新建立数组时,不得改变原有数组的维数 【答案】C 【解析】ReDim语句重新定义数组大小时,若使用Preserve关键字,可保留原有数组元素的内容。 限时练习 四 2.假定建立了一个名为Command1的命令按钮数组,则以下说法中错误的是( )。 A.数组中每个命令按钮的名称均为Command1 B.数组中每个命令按钮的标题必须相同 C.数组中所有命令按钮可以使用同一个事件过程 D.用Command1(下标)可以访问数组中每一个命令按钮 【答案】B 【解析】控件数组中各元素的标题(Caption属性)可以不同,标题是独立设置的,并非必须相同。 限时练习 四 3.控件数组是通过( )来区分控件数组元素的。 A.名称 B.Count属性 C.Index属性 D.控件标题 【答案】C 【解析】在 Visual Basic 中,控件数组是由一组名称相同的控件组成的集合,它们通过Index 属性来区分不同的元素。 限时练习 四 4.一个数组说明为Dim a(0 to 5,1 to 5) As Integer,则该数组共有( )个元素。 A.25 B.36 C.30 D.不确定 【答案】C 【解析】在 Visual Basic 中,计算二维数组元素个数的方法是各维度(上界 - 下界 + 1)的乘积。 限时练习 四 5.在Visual Basic中,关于数组的叙述,错误的是( ) A.Visual Basic中的数组必须先定义,后使用 B.语句Option Base n中的n用以设置数组下标的下界,它可以是任意的非负整数 C.同一个过程中定义的数组与变量不能同名 D.在定义数组时,每一维的元素个数必须是常数,不能是变量或表达式 【答案】B 【解析】Option Base n语句用于设置数组下标的默认下界,n只能是 0 或 1(默认是 0),不能是任意非负整数。 限时练习 四 6.在Visual Basic中,有以下程序代码: Private Sub Command1_Click() Dim i As Integer Dim n As Integer Dim arr() As Integer n = InputBox("请输入数值:") ReDim arr(n) For i = 1 To UBound(arr) arr(i) = i Next i For i = 1 To UBound(arr) \ 2 temp = arr(i) arr(i) = arr(n - i + 1) arr(n - i + 1) = temp Next i For i = 1 To UBound(arr) Print arr(i); Next i End Sub 限时练习 四 程序运行后,单击命令按钮,并在输入框中输入7,则程序的输出结果为( ) A.7 6 5 4 3 2 1 B.1 2 3 4 5 6 7 C.3 2 1 4 7 6 5 D.4 3 2 1 5 6 7 【答案】A 【解析】程序的功能是对数组元素进行赋值后反转。 限时练习 四 7.若用Dim a(10) As Integer 语句声明了数组a ,以下语句中错误的是( ) A. a(9)=a(-6) B. a(1)=56 C. a(8)=a(1)+a(3) D. a(1)=a(8)-34 【答案】A 【解析】a(-6)的下标为 - 6,超出了数组a的有效下标范围(0~10),会导致 “下标越界” 错误 限时练习 四 10.对于动态数组a,如果需要重新定义大小,并保留原有数据,可使用语句( ) A. Dim B. ReDim C. Dim Preserve D. ReDim Preserve 【答案】D 【解析】在 Visual Basic 中,动态数组的大小可以通过ReDim语句重新定义。若需要在重新定义数组大小时保留原有数据,必须使用Preserve关键字,语法为ReDim Preserve 数组名(新范围)。 限时练习 四 9.在Visual Basic中,用_______语句既可以改变数组的大小,也可以改变数组类型。 【答案】ReDim 【解析】在 Visual Basic 中,ReDim语句用于重新定义动态数组的大小。 限时练习 四 10.在Visual Basic中,对于数组a(2 to 3 ,4 to 6),它的第二维的下界为______。 【答案】4 【解析】对于数组a(2 to 3 ,4 to 6),逗号分隔的两部分分别对应第一维和第二维的范围。其中第二维明确指定为4 to 6,因此第二维的下界为 4。 内容小结 四 1.本章节的内容是数组、控件数组相关的内容,可以利用思维导图对本章知识点进行梳理总结。 2.本章节的重点在于数组的应用,如静态数组、动态数组、数组的排序。 3.本章节的难点在于对各种典型算法的应用。 原始数据 8 6 9 3 2 7 a(1) a(2) a(3) a(4) a(5) a(6) 第1趟交换后 8 6 3 2 7 9 a(2) a(3) a(4) a(5) a(6) 第2趟交换后 6 3 2 7 8 a(3) a(4) a(5) a(6) 第3趟交换后 6 3 2 7 a(4) a(5) a(6) 第4趟交换后 3 2 6 a(5) a(6) 第5趟无交换2 3 排序过程示意图 $

资源预览图

专题六 数组(课件)-《Visual Basic 程序设计》高考备考讲练测(内蒙古)
1
专题六 数组(课件)-《Visual Basic 程序设计》高考备考讲练测(内蒙古)
2
专题六 数组(课件)-《Visual Basic 程序设计》高考备考讲练测(内蒙古)
3
专题六 数组(课件)-《Visual Basic 程序设计》高考备考讲练测(内蒙古)
4
专题六 数组(课件)-《Visual Basic 程序设计》高考备考讲练测(内蒙古)
5
专题六 数组(课件)-《Visual Basic 程序设计》高考备考讲练测(内蒙古)
6
所属专辑
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。