收藏 分享(赏)

数组与记录类型.ppt

上传人:kpmy5893 文档编号:7271999 上传时间:2019-05-12 格式:PPT 页数:22 大小:83.50KB
下载 相关 举报
数组与记录类型.ppt_第1页
第1页 / 共22页
数组与记录类型.ppt_第2页
第2页 / 共22页
数组与记录类型.ppt_第3页
第3页 / 共22页
数组与记录类型.ppt_第4页
第4页 / 共22页
数组与记录类型.ppt_第5页
第5页 / 共22页
点击查看更多>>
资源描述

1、第7章 数组与记录类型,数组是一些具有相同类型的元素按一定顺序组成的序列。数组中的每一个数据元素都可以通过数组名唯一一个索引号来存取,它们被顺序地安排在内存中的一段连续的存储区中。 7.1 数组及其应用 7.2 记录类型,7.1 数组及其应用,在Delphi 5/6版本中的Object Pascal引入了动态数组,数组的内存分配不再局限于静态的,可以采用动态方式为数组分配内存区。因此,数组可分为静态数组和动态数组两种类型。,7.1.1 静态数组,静态数组在程序初始化时必须分配内存单元,明确其固定的大小和元素的数据类型。 1. 一维静态数组 数组通常可分为一维、二维和多维数组,在Object P

2、ascal中,定义一个一维数组类型,其声明格式为: Type 数组类型标识符array下标类型 of 基类型;,7.1.1 静态数组,2. 二维静态数组二维数组是指一个一维数组中的元素类型本身又是一个一维数组,其一般形式为; Type 数组标识符=Array下标类型1 of Array下标类型2 of 元素类型; 也可以把上述形式简写成下面的形式: Type 数组标识符=Array下标类型1,下标类型2 of 元素类型;,7.1.1 静态数组,3. 多维静态数组 多维静态数组的一般格式为: Type 数组类型标识符array下标类型1,下标类型2,下标类型n of 基类型; Type Test

3、1=array110,110,130 of integer; Var Myarray:array05,06,08 of real;,7.1.1 静态数组,4. 使用静态数组的注意事项 (1) 零基准数组。 所谓零基准数组,就是下标从零开始的数组,例如:array 05 of char (2) 数组的整体赋值。 假设有两个数组array1和array2,其变量定义如下:,7.1.1 静态数组,Var array1,array2:110 of char; 如果要把array2中每一个元素的值相应赋值给array1中的元素,一般是使用For语句,例如: For I:=1To 10 Do array1

4、i:=array2i;,7.1.1 静态数组,(3) 把数组作为过程或函数的形参。Procedure My Proc(var Array1:Array110 of Integer); Began End; 上述程序中,数组的定义和传递并在一起进行,并且Array1是作为变参传递的。另外,数组也可以作为函数的返回类型,而在Turbo Pascal 7.0是不允许的。,7.1.1 静态数组,(4) 开放式数组。 Object Pascal语言实现了开放式数组。 定义两个长度不同的数组变量 Var X1:Array110 of real; Var X2:Array110 of real; MyPro

5、c过程的定义,其形参是开放式数组 Procedure MyProc(X:Array of Real); Begin 过程体略 End; BeginMyProc(X1);MyProc(X2); End;,【例7-1】利用数组求出任意10个数中的最大及最小值。 如程序所示 【例7-2】利用二维数组建立一个88的方阵,该矩阵对角线元素为8,其余元素为1,结果显示在列表组件ListBox1中。 如程序所示,7.1.2 动态数组,1. 一维动态数组 一维动态数组的声明格式为: Type 数组类型标识符array of 基类型; 也可在变量声明中直接声明动态数组,其格式为: Var 变量名: array

6、of 基类型;,7.1.2 动态数组,2. 多维动态数组 Type 数组类型标识符array of array of array of 基类型; Var 变量名:动态数组类型标识符; 或 Var 动态数组变量名: array of array of array of 基类型; 例如,如下声明了一个二维动态数组变量 TypeTMessageGrid=array of array of string VarMsGS:TMessageGrid;,【例7-3】创建一个三角形的矩阵,并在一个ListBox列表框中显示出来。 如程序所示,7.2 记录类型,Object Pascal的记录类型跟数据库中的记

7、录概念很相似,记录类型中的元素可以理解为数据库中的字段。事实上,Object Pascal正式借用了数据库中的记录和字段的概念。,7.2.1 记录类型的声明,声明一个记录类型的一般格式为: Type 记录类型标识符= Record域名表1:类型1;域名表2:类型2;域名表n:类型n; End;,7.2.2 访问记录域与With语句,在程序设计中,记录类型经过声明并建立实例之后就可以使用了。使用记录类型实际上是对记录的字段进行访问,由于记录类型中元素的类型不同,因此不能像使用数组一样使用下标。访问记录域的方法有两种:限定访问记录字段和使用With语句。,7.2.2 访问记录域与With语句,1.

8、 限定访问记录中的字段 在Object Pascal中,限定访问记录中某个字段的格式是: 记录变量名.字段名; TypeTEmployee=recordName : string20;YearHired:19902000;Salsry: Double;Position: string20; end;,7.2.2 访问记录域与With语句,(1) 记录的整体赋值。 尽管记录中的每一个字段可以进行各种合法的运算,但记录作为一个整体,只能进行赋值运算,即把一个记录整体赋给另一个类型一致的记录。例如: Var Cust1,Cust2:Customer; Cust1:=Cust2; 赋值号右边的记录变量

9、必须是有值的,所谓有值是指记录的每个字段都赋值。,7.2.2 访问记录域与With语句,(2) 记录与数组。 记录与数组的相同点是:两者都是构造类型,是多个相关数据的集合,都可以整体赋值。 记录如数组的不同点是: 1) 数组中元素的类型是相同的,而记录中的字段可以是不同类型。 2) 数组中元素的个数在一定范围内是可变的,而记录中字段的数量是固定的。 3) 数组的元素是通过数组变量名加方括号和下标来访问的,而记录中的字段是通过记录变量名加一个小圆点和字段名来访问的。,7.2.2 访问记录域与With语句,2. 使用With语句 Object Pascal提供了一个With语句,其格式是: Wit

10、h 记录变量名 Do 语句 With Cust1 Do Begin Custid:=2; Name:=ZHANG: Cpsl:=78.967; End; With语句中还可以有With语句,这称为With嵌套 。,7.2.3 记录的变体部分,为了描述不确定一张履历表,在声明记录类型时就要用到记录的变体部分。带有变体部分的记录类型的声明格式为: Type 记录类型标识符=Record域名表1:类型1;域名表2:类型2;域名表n:类型n;Case 识别字段标识符:识别字段类型 Of 常量表1:字段列表1; 常量表2:字段列表2; 常量表n:字段列表n; End ;,【例7-4】结合数组类型和记录类型编写一个计算学生成绩的程序。 如程序所示,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报