VB语言数组专题讲解.ppt_第1页
VB语言数组专题讲解.ppt_第2页
VB语言数组专题讲解.ppt_第3页
VB语言数组专题讲解.ppt_第4页
VB语言数组专题讲解.ppt_第5页
已阅读5页,还剩56页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第一章、第一章和第五章分为几个小组。本章重点介绍:1 .静态数组2。动态数组3。控制阵列,A,2,5章分成几组。如何存储和处理一个人在N门课程中的成绩?如何存储和处理一个班级中N个班级的成绩?这些数据具有相同的数据类型。为了方便地使用这些数据,VB语言提供了一种构造的数据类型:数组,例如,一个真实的数组分数(1到5),用于存储学生的成绩,其中分数是数组名。数组可以存储五个分数,用下标变量表示:分数(1),分数(5)。数组的概念和声明,5.1.1数组和数组元素,1。数组概念数组是一组相同类型的数据,这组数字中的每个组成元素称为数组元素。一个统一的名称(数组名)用来表示一批逻辑上相关的数据,每个元

2、素由下标变量来区分;下标变量表示数组中元素的位置。例如,将分数(1到100)设为整数第一个学生的成绩由分数(1)表示,其值为95,第二个学生的成绩由分数(2)表示,其值为80,A,4,2。数组的命名规则与简单变量的命名规则相同。例如:分数用来代表100名学生的分数。3.数组维数,数组中子标记的个数称为数组维数。一维数组,如标记(100),二维数组,有两个下标,如: x(2,3),相当于一个矩阵,而三维数组有三个下标,如M (A,5,4)。数组中的数据被编号,也就是序列号,所以数组中的下标变量出现,所以数组元素也被称为下标变量。数组元素表示为:(),例如:标记(1),标记(99),例如,c(2,

3、3)表示数组中第二行和第三列的元素。标记2,标记(1),A,6,5.1.1数组和数组元素,(2)下标可以是常数、变量或表达式,标记(1)=60,对于I=2到100,标记(1)=cint(输入框(“输入”)下一个I,标记(1)它应该是一个整数。如果它是一个非整数,它应该四舍五入到整数。例如,在x(3.6)被舍入后,它是x(4),A,7,5。在Visual Basic中,数组可以按照不同的方式分为以下几类:根据数组的大小(元素数)是否可以改变:固定长度数组、动态(可变长度)数组,也称为静态数组或动态数组。5.1.1数组和数组元素可以根据元素的数据类型分为数值数组、字符串数组、日期数组和变量数组。根

4、据阵列的维数,可以分为一维阵列、二维阵列和多维阵列。对象数组:菜单对象数组和控件数组。A、8、5.2静态数组,静态数组是固定大小的数组,类型、维度和大小不变。5.2.1静态数组和声明,语法: Dim数组名(下标1,下标2)作为类型,下限到上限,维数:几个下标是几维数组,最多60维,例如:dimmark (1到100)作为整数,dim c (0到3,0到4)作为整数,a,每个维度大小:上限和下限1,数组大小:每个维度大小的乘积,Dim lArray(0到3,0到4)作为长整型,总共45个元素,下标:下限到上限,下限可以省略,默认情况下,下标的下限由Option Base n语句控制,并且给定的上

5、限和下限必须是常数。(1)如果在数组声明时没有给出下标的下限,则下限由Option Base语句控制,默认值为0。,例如:Dim b(2,4,3),5.2.1静态数组和声明,选项基1 dim a (2,0到4,3),A,10,dim l数组(0到3,0到4)的长度相当于3360 dim l数组(3,4)的长度,5 N=Inputbox(“输入N”N”)Dim x(N)作为Single,错误声明,下标是变量,A,11,5.2.1静态数组和声明,(3)例如,考虑两者之间的差异Dim x(10)为整数x(10)=100,它声明x数组有11个元素,并为x(10)数组元素赋值。数组声明中的下标表示整个数

6、组,即每个维度的大小;而出现在程序其他地方的下标代表数组中的一个元素。它们是以相同的形式写的,但是有不同的含义。声明数组:声明数组的名称、维度、大小和类型,并初始化数组。12补充了与数组运算相关的几个函数。数组函数(1)数组函数可以方便地给整个数组赋值,但它只能给变量赋值,声明变量或动态数组只能用括号括起来。=Array(),(2)数组的下限由选项基本控制语句确定,上限由数组函数括号中的参数数量确定。它也可以通过函数Ubound获得。例如,要将值1、2、3、4、5、6和7分配给数组A,可以使用以下方法分配值。Dim a () a=数组(1,2,3,4,5,6,7) Dim a a=数组(1,2

7、,3,4,5,6,7),a,13,2。找到数组的上限UBound()函数和下限LBound()函数。用法如下:Ubound(,Lbound(,),它补充了与数组操作相关的几个函数,dimscore (3,4)作为整数ubound (score,2),其中:必选,遵循标准变量命名约定。可选;通常是整数常量或变量。指定返回哪个维度的上限。1代表第一维度,2代表第二维度,依此类推。如果省略,默认值为1。4,lbound (score,2),0,a,14,5.2.2数组引用,使用数组是对数组元素的操作,对数组元素的操作类似于对简单变量的操作。引用数组元素时的注意事项:引用数组元素的方法:在数组名称后的

8、括号中注明下标,如a(5),b(3,4)。引用数组元素时,数组名称和数组类型必须与声明数组时一致。引用数组元素时,下标应该在声明数组时指定的范围内。在同一个过程中,数组和简单变量不能有相同的名称,A,15 (1)赋值语句Dim iA(1到10)作为字符串Ia(1)= Zhang San : Ia(2)= Lisi ,然后,例如,对于i=1到10 a (I)=int (RND * 90) 10,添加赋值下一个I,(2)循环,并且(2)在运行时传递输入对于I=1到10 a(i)=inputbox(“请输入”)数组元素的输入(赋值初始值),数组函数Dim ib()不能将数组类型IB=数组(ABC,d

9、ef,67)指定为I=0到ubound (IB)形式1.printib (I)当用数组函数给动态数组赋值时。下一个I,A,17,1。数组元素的输入(分配初始值)。一维数组可以循环一次,二维数组可以循环两次,多维数组可以循环多次。在VB中,数据是按行存储的,所以数组第一维的循环变量通常放在外部循环中。示例5.1查找数组中最小元素和下标的要求:创建一个包含10个元素的数组,从键盘输入10个数字,找出最小数字,并输出最小数字的下标。除了声明一个包含10个元素的数组,数据分析:还应该声明几个变量,它们是什么类型?求最大最小值:的算法分析?a,18,私有子窗体_ click () dim a (1到10

10、)dim a(1到10)作为整数dim min作为整数,p作为整数,对于I=1到10 a (I)=val(输入框(请输入一个数字,输入一个数字,0)下一个I,Min=a (1) :p=1,对于I=2到10如果a (I) min则min=a (I) p=I结束如果下一个I,打印数组中的数字1, (2)除了第一个数字之外,根据方法(1)从剩余的n-1个数字中选择下一个最小的数字,并与第二个数字交换位置; (3)重复(1)n-1次,最后形成递增序列。,A,23,1选择方法,外部循环变量j:的比较遍数,n个数需要n-1个比较遍数,n从1变为n-1,j从i 1变为n,A,24,A,25,2选择方法得到改

11、进,并且A,26,例53是由计算机生成的(纠正教科书错误),调暗a (1至10)为整数,对于I=1至10 a (I)=int (rnd * 100) 1打印A(I);下一个I,对于I=1到I min=1,对于j=10,如果a (j) a (imin),则imin=j结束,如果下一个j t=a (I)=a (imin) a (imin)=t下一个I,a,27,冒泡排序过程:有必要重复比较两个相邻的数字并交换两个数字,2冒泡排序,(1)比较第一个数字和第二个数字,并且如果它是逆序a(0)a(1),则交换;然后比较第二个数字和第三个数字;等等,直到第(n-1)个数字与第(n-1)个数字相比较,最大的

12、数字被放置在最后一个元素位置,(2)第(n-1)个数字被放置在第(n-1)个元素位置,和(3)重复上述过程,在第N-1次气泡分类之后,分类结束,A,22,A,29,用于气泡分类的VB程序(升序):2气泡分类, 对于I=1到n-1,对于j=1到n-1,如果a (j) a (j 1),则temp=a(j)a(j)=a(j 1)a(j 1)=temp end if 3。 二维数组的应用,Dim StuScore(1到10,1到5)定义了一个105的二维数组。您可以使用For循环嵌套来处理多维数组。二维数组中元素的存储顺序是按行存储的,所以外环对应行的变化,内环对应列的变化更合适。A,31,示例5.4

13、要设置一个有5行5列的矩阵,首先为该矩阵赋值,该矩阵的值是相应的行坐标和列坐标之和,然后以5行5列的形式输出。数组定义:将a(1至5,1至5)调至整数,i=1至5,j=1至5a (I,j)=I j下一个j下一个I,赋值:输出:I=1至5,j=1至5打印a (I,j);下一页打印的功能是什么?下一个我,3。二维数组的应用,演示,A,32,3。二维数组的应用,请考虑:如果你声明一个5行5列的矩阵,元素是由计算机随机生成的小于100的整数。要找到(1)主对角线上的元素之和(2)主对角线上的元素之积(3)方阵中的最大元素和最小元素及其对应的下标,A,33,5.3动态数组,请考虑:如果要先通过用户界面输

14、入数组长度,然后用数组保存数据,应该如何定义数组?例如:(动态数组示例),动态数组:这意味着在声明数组时没有给出数组的大小(括号中的下标被省略);当您想使用它时,请使用ReDim语句随时重新指定数组的大小;您不能更改数组的类型。A,34,创建动态数组的过程,创建动态数组的步骤如下:Public,Dim或Static语句声明一个空的维度数组。格式:Dim数组名()作为数据类型。在这个过程中,ReDim语句用于分配元素的实际数量(维度和每个维度的下标范围)。形式为: ReDim数组名(下标1,下标2) As类型,子窗体_ load () dimsarray () as单个redim sarray

15、(4,8) end sub,a,35,description: (1) Dim、Private和Public变量声明语句是解释性语句,可以出现在过程或一般声明部分;ReDim语句是一个执行语句,只能出现在过程中。(2) ReDim语句可以改变数组的维数、上界和下界,但不能改变数组的类型。同时,数组的维数只能改变一次,这是由第一次出现的Redim语句定义的维数决定的。(3)在这个过程中,ReDim可以多次用来改变数组的大小。每次使用ReDim语句时,原始数组中的值都会丢失。保存参数可以在ReDim语句后添加,以保持数组中的数据,但保存只能改变最后一个维度的大小,但先前维度的大小不能改变。36岁岁,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论