VB课件--第5讲 数组.doc

上传人:M****1 文档编号:550895059 上传时间:2024-03-20 格式:DOC 页数:11 大小:109.50KB
返回 下载 相关 举报
VB课件--第5讲 数组.doc_第1页
第1页 / 共11页
VB课件--第5讲 数组.doc_第2页
第2页 / 共11页
VB课件--第5讲 数组.doc_第3页
第3页 / 共11页
VB课件--第5讲 数组.doc_第4页
第4页 / 共11页
VB课件--第5讲 数组.doc_第5页
第5页 / 共11页
点击查看更多>>
资源描述

《VB课件--第5讲 数组.doc》由会员分享,可在线阅读,更多相关《VB课件--第5讲 数组.doc(11页珍藏版)》请在金锄头文库上搜索。

1、第5讲 数组和自定义类型 第5讲 数组5.1 数组5.1.1数组的概念 数组不是一种数据类型,而是一组相同类型的变量的集合。 数组必须先声明后使用,用声明语句声明数组时要声明:5.1.2 定长数组及声明1. 一维数组 Dim 数组名(下标上界) As 类型 Dim 数组名(下标下界 To 上界) As 类型 下标必须为常数,不能是表达式或变量;下标下界默认为0;一维数组的大小为:“上界-下界+1” Dim mark(99) As Integer Const N=10 声明一个符号常量N;Dim s!( N ) 用符号常量代表下标2.多维数组Dim 数组名(下标1,下标2) As 类型 下标个数

2、决定了数组的维数;每一维的大小=上界-下界+1;其大小为各维大小的乘积。5.1.3 动态数组及声明 建立动态数组分两步:(1)用Dim 语句声明数组,但不能指定数组大小 Dim 数组名( ) As 数据类型(2)在过程中用ReDim语句动态地分配元素个数 ReDim 数组名 (下标,下标2)定义动态数组大小注意:v Dim说明语句,可出现在程序的任何地方。v 而ReDim 是执行语句,只能出现在过程代码中。Redim语句中的下标可以是常量,也可以是已赋值的变量。v 过程中可多次使用ReDim语句来改变数组的大小,但每次使用都会使数组中原有数据丢失。v 可在ReDim 后加Preserve参数用

3、来保留数组中的数据,若使用Preserve参数后,只能改变最后一维的大小。5.2 数组的基本操作1. 与数组相关的函数和设置(1)Array函数 =Array() Aarry函数将常量列表的各项值分别赋给一个一维数组。 变量名必须声明为Variant的变体类型,可以是变体变量名和变体动态数组名。 数组大小由数据列表中的常数个数确定。 Array 函数作用返回一个Variant型的数组。 Dim a As Variant, b( )(2) UBound()、下界LBound()函数UBound( )函数和LBound( )函数分别用来确定数组某一维的上界和下界值。形式如下: UBound | L

4、Bound (, ) 例:k = Ubound ( a , 1 ) ;k = UBound ( a )(3) Option Base 语句用来声明数组下标的缺省下界。 语法:Option Base 0 | 1 该语句必须出现在模块的所有过程之前。一个模块中只能出现一次 Option Base。2. 数组的输入(1)在循环中用InputBox函数输入数据赋予数组元素Option Base 1Private Sub Form_Load( )Dim s(20) As IntegerFor i = 1 To 20 s(i) = InputBox(“输入第” & I & “个数据)Next IEnd S

5、ub(2)循环和随机数函数给数组赋值 u 用循环给数组赋值 For i = 1 to n x(i) = i next iu 用随机数函数产生随机数给数组赋值 For i = 1 to n y(i) = Rnd*71+120 next i(3)二维数组的数组元素赋值例如:Dim A(1 To 6, 1 To 7) 以行的方式赋值 For K = 1 To 6 For J = 1 To 7 A (K , J) = Int (Rnd * 91 + 20) Next J Next K 以列的方式赋值 For K = 1 To 7 For J = 1 To 6 A (J , K) = Int (Rnd

6、* 91 + 20) Next J Next K3.数组的输出(1)窗体或图形控件每行输出一个数据。 For K = 1 To N 窗体或图形控件名.Print K,A(K) Next K(2)文本和标签控件每行输出一个数据(文本控件必须设置多行属性) For K = 1 To 100 s1 = s1 & B(K) & vbCrLf 或 s1 = s1 & B(K) & Chr(10) & Chr(13) Next K 标签控件名.Caption = s1 或 文本控件名.Text = s1(3)窗体和图形控件的分行输出For K = 1 To N Picture1.Print A(K); 输

7、出数组元素 If K / 6 = K 6 then Picture1.Print 每行输出6个后换行 End If Next KFor J = 1 To 5 For K = 1 To 6 Picture1.Print S(J , K); 输出数组元素 Next K Picture1.Print 输出完一行换行 Next J(4)文本或标签控件分行输出使用文本控件时,首先要设置文本框的多行属性。 For K = 1 To 100 s1 = s1 & B(K) & Space(2) If K Mod 5 = 0 Then s1 = s1 & vbCrLf s1 = s1 & Chr(10) & C

8、hr(13) End If Next K 标签控件.Caption = s1 或 文本控件.Text = s1输出方阵中各元素、上三角和下三角元素求一维数组中各元素之和、最小数组元素、最小元素的下标(位置)v 求元素和 通过循环将每个元素进行累加 v 求数组中最小元素 假设第一个元素为最小,然后将该数与其他元素逐一比较,若发现小于最小值,就用新值替换最小值,同时记录下标值。v 求最大值的方法与求最小值相似数组排序: 1. 选择法排序(以升序为例) 基本思想:每次在循环中找数组中乘余元素最小数,并放在相应的位置(当前最小下标元素位置),当数组中所有数都被找完了,自然就排好序了。(1)从数组中选出

9、最小的数,与第1个元素交换位置;(2)除第1 个数外,其余N-1个数中选最小的数,与第2个数交换位置;(3)依次类推,选择了N-1次后,这个数组已是一个有序数组。2.冒泡法排序算法思想(以升序为例)(1)有n个数(存放在数组中),第一趟将第一个元素与剩余所有元素比较,小的总是放在第一个元素中;经n-1次比较后,小数上升“浮起”,第一个元素中存放最小数。(2)第二趟对余下的n-1个数中,从第二个开始找最小的按上法比较经n-2次,比较后第二个元素中放的是次小的数。(3)依次类推,实现对数组元素的排序。3插入数据在有序数组中插入数据:插入数据基本思想是:(1)首先查找待插入数据在数组中的位置k;(2

10、)然后从最后一个元素开始依次往后移动一个位置直到下标为k的元素;(3)第k个元素的位置腾出,将数据插入。4删除数据删除操作首先是要找到欲删除的元素的位置k;然后从k+1到n个位置开始向前移动;最后将数组元素减1。 5.4 综合应用-分类统计1.分类统计 将一批数据按条件统计每一类中包含的个数。 例如:统计学生成绩优、良、中、及格、不及格人数。这类问题要掌握分类条件表达式的书写和使用计数变量保存相应的计数。 Dim a%(5 To 9) a(9)存放90100分的人数;a(8)存放8089分的人数;a(7)a(6)存放6070分的人数;a(5)存放60以下的人数。 K = 分数 10 If k

11、= 9 then a(9) = a(9) + 1例如:输入一串字符,统计各字母出现的次数(不区分大小写)。 v 统计26个字母出现的个数,先声明一个具有26个元素的数组,每个元素的下标表示对应的字母,元素的值表示对应字母出现的次数(各字母的计数器)。v 从输入的字符串中逐一取出字符,先转换成大写字符(或都转换成小写),再进行判断。数组选择题6、以下说法中,错误的是( )。A. 使用缺省Preserve关键字的ReDim语句可以改变数组的维数和大小B. ReDim语句只能出现在过程中C. 使用ReDim语句重新定义的动态数组,只能比原数组大D. 使用ReDim语句可以对动态数组的所有元素进行初始

12、化16下面数组说明语句错误的是( )。ADim a(100) As Byte BDim a(100)As DoubleCDim a(10,10) As Byte DDim a(10 To 10)As Double13用下面语句定义的数组的元素个数是( )。 Dim a(-100 To 30) As Integer A. 130 B. 101 C. 70 D. 13118定义有5个整数元素的数组,正确的语句是( )。 A. Dim A(4) As Integer B. Option Base 1 : Dim A(4) C. Dim A&(5) D. Dim A(5) As Integer23在缺

13、省情况下,数组声明语句Dim a(-2 to 2,5),则数组a包含元素个数为( )。 A. 120 B. 30 C. 60 D. 20 19、一般情况下,能表示VB中数组a最多只能存放20个元素的是( )。Aa(20) Ba(4,5) Ca(1,5,4) Da(0,4,3)22、定义有5个整数元素的数组,正确的VB语句是( )。ADim a(4) As Integer BOption Base 1 : Dim a(5)CDim a&(5) DDim a(5) As Integer5在窗体上画一个名称为Command1命令按钮,一个名称为Picture1的图形框。运行程序后,单击命令按钮后打印出如图所示的杨辉三角形。根据题意,在( )处选择正确答案。Option Base 1Private Sub Command1_Click() Dim a(11, 11) As Integer ( 1 ) m = 11 For i = 1 To m a(i, 1) = 1: a(i, i) = 1 Next i For i = 3 To m For j = 2 To ( 2 ) i a(i, j) = a(i - 1, j - 1) + ( 3 ) a(i-1,j) Next j Next i n = 30 For i =

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 生活休闲 > 社会民生

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号