vb-数组(基础教学)
- 格式:ppt
- 大小:402.00 KB
- 文档页数:36
批互相联系的、有一定顺序的数据组成的集合。
与数学中的数组不同的是,Visual Basic中的数组必须先声明,然后才能在程序中使用。
一个数组中的所有数据,称为该数组的数组元素。
)2. 数组名的命名规则数组名的命名规则与简单变量的命名规则一样,即由1~40个字符组成,组成的字符可以是字母、数字或小数点,并且必须以字母开头,如果有类型申明符时,必须放在尾部。
例如:a,x,xscj%等。
3. 什么是数组的维数数组中下标的个数称为数组的维数。
•一维数组:数组中的所有元素,能按行、列顺序排成一行,即用一个下标确定它们各自所处的位置。
•二维数组:数组中的所有元素,能按行、列顺序排成一个矩阵,用两个下标才能确定它们所处的位置。
•三维数组:由三个下标才能确定所处位置。
依此类推,有多少个下标的数组,就构成多少维的数组,如四维数组、五维数组等。
通常又把二维以上的数组称为多维数组。
例如:a(10) 一维数组x(2 , 3) 二维数组b(4 , 5 , 6) 三维数组4. 什么是数组元素在同一数组中,构成该数组的元素称为数组元素。
组成数组的各个元素一般为在事件程序下拉列表框中选“(声明)”,输入下面代码:Option Base 1Dim a(1 To 10) As SinglePrivate Sub Command1_Click()Dim i As Integer, total As Single, average As SingleFor i = 1 To 10a(i) = Val(InputBox("请输入第" & Str(i) & "个学生的成绩", "输入成绩")) total = total + a(i)Next iaverage = total / 10Label1.Caption = Label1.Caption + Format(total)Label2.Caption = Label2.Caption + Format(average)End Sub三、课堂总结。
VB教案之数组VB 教案之数组授课对象:初一兴趣班学生) 教学过程: 一、引入:在学习if语句时,我们曾做过一个题,在文本框内输入正整数,判断这3个数的大小然后将他们按从小到大的顺序输出。
if a>b then temp =a:a=b : b =temp end if if a >c then temp =a : a=c :c= temp end if if b>c then temp = b : b=c : c=temp end if print 这三个数从小到大的顺序是; a;b;c; 这是3个数的大小排序,假如多于三个数的排序呢? 当然我们还可以用IF语句予以解决,但大家可以想象到它的麻烦程度,其实,我们可以用数组来解决这个问题。
那么何谓数组呢?二、1)新课讲授:所谓数组是一群数据类型相同的变量,在内存里能拥有连续存放空间的集合。
数组在使用之前必须先声明,声明的目的是确定内存中应保留多少连续空间给此数组使用,并定出数组中每一个元素的数据类型。
语法:dim 数组名称(下标1,[下标2[……]])[as 数据类型] 功能:声明所指定数据类型为一维(二维……)数据 eg : dim a(6) as integer 声明一个a(6)的数组,其包含了a(0)---a(6)7个整型变量。
数组的默认下标值从0开始,假如你觉得不习惯的话,可以用用这个方式声明: dim 数组名称(下界to上界[下界to上界][……])[as 数据类型] 假若要定义a(1)----a(6)的整型数组,则可以这样写: dim a(1to 6) as integer 请学生判断以下下列数组说明语句是否正确,说明原因:(1) Dim a(10) as integer (2) Dim b(-10) as integer /错误没有用关键之to显示知名下标范围。
(3)Dim c(5,3)as byte (4)Dim y() /错误,只有重定义语句才可以不带下标2)回到我们刚上课讲的内容,如何利用数组解决数字的排序问题呢?这里我们先介绍两个函数:随机函数Rnd 产生介于0到1之间的函数随机数种子函数Randomize 在Rnd函数之前使用,以当做随机数产生器的种子。
第5讲数组5.1 数组5.1.1数组的概念数组不是一种数据类型,而是一组相同类型的变量的集合。
数组必须先声明后使用,用声明语句声明数组时要声明:5.1.2 定长数组及声明1. 一维数组Dim 数组名(下标上界) [As 类型]Dim 数组名(下标下界 To 上界) [As 类型]下标必须为常数,不能是表达式或变量;下标下界默认为0;一维数组的大小为:“上界-下界+1”Dim mark(99) As IntegerConst N=10 ‘声明一个符号常量N;Dim s!( N ) ‘用符号常量代表下标2.多维数组Dim 数组名(下标1,下标2…) [As 类型]下标个数决定了数组的维数;每一维的大小=上界-下界+1;其大小为各维大小的乘积。
5.1.3 动态数组及声明建立动态数组分两步:(1)用Dim 语句声明数组,但不能指定数组大小Dim 数组名( ) As 数据类型(2)在过程中用ReDim语句动态地分配元素个数ReDim 数组名 (下标[,下标2…])定义动态数组大小注意:Dim说明语句,可出现在程序的任何地方。
而ReDim 是执行语句,只能出现在过程代码中。
Redim语句中的下标可以是常量,也可以是已赋值的变量。
过程中可多次使用ReDim语句来改变数组的大小,但每次使用都会使数组中原有数据丢失。
可在ReDim 后加Preserve参数用来保留数组中的数据,若使用Preserve参数后,只能改变最后一维的大小。
5.2 数组的基本操作1.与数组相关的函数和设置(1)Array函数<变量名>=Array(<常量数据列表>)Aarry函数将常量列表的各项值分别赋给一个一维数组。
变量名必须声明为Variant的变体类型,可以是变体变量名和变体动态数组名。
数组大小由数据列表中的常数个数确定。
Array 函数作用返回一个Variant型的数组。
Dim a As Variant, b( )(2) UBound()、下界LBound()函数UBound( )函数和LBound( )函数分别用来确定数组某一维的上界和下界值。
程序设计——数组(一维数组)例1、输入10个正整数,求其中最大的数。
(最小的数?)方法1、Private Sub Form_Click()Dim n As Integer,x As Integer,m As Integerm=0For x=1 to 10N=Val(Inputbox(“”,””))If n>m Then m=nNext xPrint mEnd Sub方法2、(应用数组——记录数据本身)Private Sub Form_Click()Dim a(10) As Integer,x As Integer,m As IntegerFor x=1 to 10A(x)=Val(Inputbox(“”,””))Next xm=a(1)For x=2 to 10If a(x)>m Then m=a(x)Next xPrint mEnd Sub方法3、(应用数组——记录下标位置)Private Sub Form_Click()Dim a(10) As Integer,x As Integer,m As IntegerFor x=1 to 10A(x)=Val(Inputbox(“”,””))Next xm= 1For x=2 to 10If a(x)>a(m) Then a(m)=a(x)Next xPrint a(m)End Sub选择排序法(气泡)原理:a(1) a(2) a(3) a(4) a(5) a(6) a(7) 初始数据 6 13 18 0 4 12 7第一次k=1 m=4013 18 6 4 12 7 第二次k=2 m=50418 6 1312 7例2、输入10个整数,按照降序排列。
(数值降序)例3、输入10个整数,按照升序排列。
(数值升序)例4、输入10个英文单词,按照字典顺序a—>z的顺序排列。
(字符串升序)程序设计——数组(二维数组)例5、矩阵5╳5,输入相应数据,显示。
VB教程第6章数组VB数组是一个用来存储多个元素的有序集合。
一个VB的数组可以包含0个元素到任意多个元素,取决于你需要存储什么类型的信息。
在VB 中,数组可以存储任何类型的信息:字符型,整型,实数型,布尔型等。
VB中的数组可以分为静态数组和动态数组。
静态数组是在程序运行之前就已经定义好了数组大小的数组,而动态数组是在程序运行中可以动态改变数组的大小。
在VB中,可以用两种不同的方式定义一个数组:声明和定义。
声明一个数组就是给它一个名字,但是并不限定它的大小,可以通过定义一个数组来限定它的大小。
声明数组的语法如下:Dim arrayName( )该语句只是把一个数组的名字定义出来,而它的大小并没有被限定。
定义数组的语法如下:Dim arrayName(n To m)通过这个语句,你可以把数组的大小定义出来,n和m指的是数组的第一个和最后一个元素的编号,例如,如果你要定义一个有10个元素的数组,可以用Dim arrayName(0 To 9)来定义这个数组。
一旦定义了数组,你就可以使用它来存储信息了,例如,下面的代码定义了一个数组myArray,并且用它来存储了10个字符:Dim myArray(0 To 9) myArray(0) = "A" myArray(1) = "B" myArray(2) = "C" myArray(3) = "D" myArray(4) = "E" myArray(5) = "F" myArray(6) = "G" myArray(7) = "H" myArray(8) = "I"。
如果有过用其它语言编程的经历,那么想必会熟悉数组的概念。
由于有了数组,可以用相同名字引用一系列变量,并用数字(索引)来识别它们。
在许多场合,使用数组可以缩短和简化程序,因为可以利用索引值设计一个循环,高效处理多种情况。
数组有上界和下界,数组的元素在上下界内是连续的。
因为visual basic对每一个索引值都分配空间,所以不要不切实际声明一个太大的数组。
注意这一部分讨论的数组是程序中声明的变量数组。
它们不同于控件数组,控件数组是在设计时通过设置控件的index 属性规定的。
变量数组总是连续的;与控件数组不同的是,不能从一个数组的中部加载或卸载数组元素。
一个数组中的所有元素具有相同的数据类型。
当然,当数据类型为variant 时,各个元素能够包含不同种类的数据(对象、字符串、数值等等)。
可以声明任何基本数据类型的数组,包括用户自定义类型(请参阅“再论编程”中的“创建自己的数据类型”)和对象变量(请参阅“用对象编程”)。
在visual basic 中有两种类型的数组:固定大小的数组—它总是保持同样的大小,以及在运行时大小可以改变的动态数组。
在本章后面的“动态数组”中将要详细讨论动态数组。
声明固定大小的数组有三种方法声明固定大小的数组,用哪一种方法取决于数组应有的有效范围:建立公用数组,在模块的声明段用public 语句声明数组。
建立模块级数组,在模块的声明段用private 语句声明数组。
建立局部数组,在过程中用private 语句声明数组。
设定上下界声明数组时,在数组名之后跟一个用括号括起来的上界。
上界不得超过long 数据类型的范围(-2,147,483,648 到2,147,483,647)。
例如,下列数组声明可出现在模块的声明段:dim counters (14) as integer …15 个元素。
dim sums (20) as double ‟21 个元素。
为建立公用数组,直接用public 取代dim。