首页 理论教育 体重低于平均值的10个儿童体重

体重低于平均值的10个儿童体重

时间:2023-11-01 理论教育 版权反馈
【摘要】:例如:称量10个儿童的体重,找出体重低于平均值的。

体重低于平均值的10个儿童体重

1.数组的概念

一组排列有序的、个数有限的变量作为一个整体,用一个统一的名字来表示,称为数组。(注意:数组并不是一种数据类型,而是用来存放或表示一组相关的数据。)

数组中的每个元素,称为数组元素,各数组元素间通过下标来进行区分。

通过一个例题来了解有关数组和数组元素与简单变量间的关系。

例如:称量10个儿童的体重,找出体重低于平均值的。

称量所得到的10个数据如果用以前学过的简单变量存储,要分别存放在x、y、z、m、n等10个变量中,由于变量名过多而且无规律,在编程中不易使用而且会使程序代码冗长。

以上程序段中,绝大多数代码都是功能相同重复编写,而且随着儿童数量的增长,程序代码会不断增加。

实际上,上面的一组变量属于同一类型(体重),而且是有序的(它们的值分别表示第1个到第10个儿童的体重),因此我们可以用数组来表示这组变量,表示形式如下:

a(1)  a(2)  a(3)  a(4)  a(5)  a(6)  a(7)  a(8)  a(9)  a(10)

其中:a(1)到a(10)都是数组a中的数组元素,a(1)表示第一个儿童的体重,a(2)表示第二个儿童的体重,依次类推。

如果用数组来解决上述问题,程序代码如下:

与上面的程序对比发现,利用数组解决此类问题,程序代码变得简洁,而且不会随着儿童数目的增长而变长。

2.简单变量与数组的区别

① 我们在前几章中使用的变量x,y,z等为简单变量;用一个相同名字来代表一组相同类型变量的就是数组。

② 数组中的数组元素在内存中占用一段连续的内存空间,即数组的有序性;而简单变量在内存中的存放是不连续的,即简单变量的无序性。

③ 与简单变量一样,当一个数组被声明成变体类型时,它的每个元素也是变体类型,因此,可以存放各种类型的数据。

3.数组的命名

同简单变量的命名规则。

4.数组元素下标的使用说明

① 下标放在数组名后的括号内,例如:a(10),表示数组a中的第10个元素。

② 下标可以是常量、变量或表达式,例如:a(i),a(i+2)。

③ 下标反映元素在数组中的位置,例如:a(3)表示数组a中顺序号为3的元素。

④ 下标变量与简单变量一样,可以被赋值和引用,例如:a(3)=20。

5.静态数组的定义

静态数组一经定义后,无论是否使用,总是占用内存直到过程调用结束,并且在此期间数组的大小、维数不能改变。

① 一维静态数组的定义

若要使用下标变量,必须先定义数组。一个数组,包括数组名称、数组维数、数组单元数等因素。在使用数组时,要将以上内容告诉计算机,以便开辟足够的内存单元来存储数据,这叫做建立(说明、定义或声明)一个数组。其语法格式为:

Dim 数组名([下界To]上界[, [下界To]上界]···)[As 类型名称]

说明:

●定义数组时指定下标的上下界

例如:Dim a(2 to 5)As Integer

Dim b(-2 to 2)As Variant

定义了一个名为a的整型静态数组,其中包括a(2)、a(3)、a(4)和a(5)4个数组元素,同时定义了一个名为b的变体类型静态数组,其中包括b(-2)、b(-1)、b(0)、b(1)和b(2)5个数组元素。

●定义数组时没有指定下标下界,默认下标下界为0。

例如:Dim a(5) as Integer

定义一个名为a的整型静态数组,其中包括a(0)、a(1)、a(2)、a(3)、a(4)、a(5)6个数组元素。

●可以在代码窗口的通用声明中用Option Base n设定数组下界(n只能是0或1)。

例如:Option base 1

Dim a(5)As Single

数组a的下标下界从1开始,即a数组中包括a(1)···a(5)共5个数组元素。

② 数组使用说明

●数组名可以是任何合法的VB变量名。

●数组必须先定义,后使用(目的是为数组在内存中留出所需空间)。

●当使用Dim语句定义数组时,数组中所有元素均被初始化(同变量定义初始化)。

●一个Dim语句可同时声明几个数组,数组之间用“,”隔开。

例如:Dim a(10),b(5)As Integer

●定义数组时,下标的下界和上界值只能是常数或者常数表达式。

例如:Dim a(x)As Integer

X=InputBox("输入数组大小")是错误的。

●数组的最大长度取决于内存空间的大小。

●可以用LBound()、UBound()函数测定一个已定义数组的上界与下界值。

例如:Dim a(10)As Integer

LBound(a)

●在同一个过程中,数组名不能与变量名相同,否则会出错。

6.二维静态数组的定义

Dim 数组名([下界 To] 上界,[下界 To] 上界)[As 数据类型]

例如:Dim b(7,4)As single或Dim a(1 To 10, 1 To 3)As Integer(www.xing528.com)

定义了一个名为 b的二维静态单精度型数组,其中包含8行5列数组元素。

定义了一个名为a的静态整型数组,其中包含10行3列数组元素。

7.多维静态数组的定义

多维数组的定义方法同一维数组、二维数组相似。

例如:Dim stu(5, 4, 6, 2)As Integer

注意:维数越多,可存储的数据越多,占用的内存越大,如非必要,少用高维数组。

8.动态数组的定义

用户可以定义大小可以改变的数组,在需保存大量数据时增加数组的元素,而在数据量减少时减小数组的最大下标,甚至在不需要数组时将该数组删除,这类数组称为动态数组。动态数组可使内存空间得到有效而合理的管理。

动态数组的定义分为声明和定义两个阶段:

① 声明阶段说明数组的名称和类型,但不要在括号中写任何说明。例如:

Dim Test()As Integer

② 对于动态数组定义后,在使用时,需要注意以下几点:

●使用该数组前,根据实际情况用ReDim语句再加以定义,说明其维数和大小(注意,ReDim语句只能出现在过程内,它是可执行语句,而且ReDim语句只能改变数组的大小,不能改变数组的类型,同一过程中可多次使用ReDim语句)。例如:

ReDim Test(10)。

●改变数组大小后,如果不指定Preserve关键字,执行该语句时,数组中原先存放的所有值将全部消失。例如:

程序运行结果如图7-1所示。

图7-1

●不需要动态数组时,可以将其删除。

Erase 数组名[,数组名]…

例如:Erase Test

9.数组元素的输入、输出和复制

① 数组元素输入的方法

a) 设计时通过赋值语句输入。例如:a(3)=10

b) 程序运行时InputBox函数输入。例如:a(5)=InputBox("输入元素值")

c)用Array函数输入(只适用于一维数组)

<数组变量名>=Array(<数组元素值表>)

参数说明:

●数组变量名:预先定义的数组名,要求是一个变体变量名,称为“数组变量”,是因为它作为数组使用,但作为变量定义,它既没有维数,也没有上下界。

●数组元素值表:用逗号隔开,给数组的各元素赋的值。

在缺省情况下,使用Array函数创建的数组的下界从0开始,否则由Option Base语句指定的下界决定。

注意:

●错误的声明,下标是变量。

例如:n =InputBox("输入n "):Dim x(n)As Single

●数组声明中的下标说明数组的整体,即每维大小;程序其他地方出现的下标表示数组中的一个元素。两者写法形式相同,但意义不同。

② 数组元素的输出

a)用MsgBox函数或MsgBox语句输出数组元素的值;

b)用赋值语句把数组元素的值显示在标签、文本框或表现在其他控件上;

c)用Print方法把数组元素的值输出到窗体或图片框中。

例如:Print a(1);a(2)

③ 数组元素的复制

将一个数组元素的值赋给另一个数组元素。

例如:Dim a(10),b(5)As Integer

b(1)=a(1)

10.For Each...Next语句

专门用于操作数组和集合的。操作数组的结构是:

其中:

●成员:一个Variant变量,代表数组中每个元素。

●数组:没有括号和上下界。对数组元素进行处理,包括查询、显示或读取。数组中有多少个元素,就自动重复执行多少次。

执行过程:

① 首先计算数组元素的个数,数组元素的个数就是执行循环体的次数;

② 每次执行循环体前先将数组的一个元素赋给成员,第一次是第一个数组元素,第二次是第二个数组元素,依次类推;

③ 执行循环体,执行后转②。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈