Delphi程序设计第7章 数组与记录类型.ppt

  1. 1、本文档共22页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第7章 数组与记录类型 数组是一些具有相同类型的元素按一定顺序组成的序列。数组中的每一个数据元素都可以通过数组名唯一一个索引号来存取,它们被顺序地安排在内存中的一段连续的存储区中。 7.1 数组及其应用 7.2 记录类型 7.1 数组及其应用 在Delphi 5/6版本中的Object Pascal引入了动态数组,数组的内存分配不再局限于静态的,可以采用动态方式为数组分配内存区。因此,数组可分为静态数组和动态数组两种类型。 7.1.1 静态数组 静态数组在程序初始化时必须分配内存单元,明确其固定的大小和元素的数据类型。 1. 一维静态数组 数组通常可分为一维、二维和多维数组,在Object Pascal中,定义一个一维数组类型,其声明格式为: 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 Test1=array[1..10,1..10,1..30] of integer; Var Myarray:array[0..5,0..6,0..8] of real; 7.1.1 静态数组 4. 使用静态数组的注意事项 (1) 零基准数组。 所谓零基准数组,就是下标从零开始的数组,例如:array [0..5] of char (2) 数组的整体赋值。 假设有两个数组array1和array2,其变量定义如下: 7.1.1 静态数组 Var array1,array2:[1..10] of char; 如果要把array2中每一个元素的值相应赋值给array1中的元素,一般是使用For语句,例如: For I:=1To 10 Do array1[i]:=array2[i]; 7.1.1 静态数组 (3) 把数组作为过程或函数的形参。 Procedure My Proc(var Array1:Array[1..10] of Integer); Began … End; 上述程序中,数组的定义和传递并在一起进行,并且Array1是作为变参传递的。另外,数组也可以作为函数的返回类型,而在Turbo Pascal 7.0是不允许的。 7.1.1 静态数组 (4) 开放式数组。 Object Pascal语言实现了开放式数组。 {定义两个长度不同的数组变量} Var X1:Array[1..10] of real; Var X2:Array[1..10] of real; {MyProc过程的定义,其形参是开放式数组} Procedure MyProc(X:Array of Real); Begin {过程体略} End; Begin MyProc(X1); MyProc(X2); End; 【例7-1】利用数组求出任意10个数中的最大及最小值。 如程序所示 【例7-2】利用二维数组建立一个8×8的方阵,该矩阵对角线元素为8,其余元素为1,结果显示在列表组件ListBox1中。 如程序所示 7.1.2 动态数组 1. 一维动态数组 一维动态数组的声明格式为: Type 〈数组类型标识符〉=array of 〈基类型〉; 也可在变量声明中直接声明动态数组,其格式为: Var 〈变量名〉: array of 〈基类型〉; 7.1.2 动态数组 2. 多维动态数组 Type 〈数组类型标识符〉=array of array of … array of 〈基类型〉; Var 〈变量名〉:〈动态数组类型标识符〉; 或 Var 〈动态数组变量名〉: array of array of … array of 〈基类型〉; 例如,如下声明了一个二维动态数组变量 Type TMessageGrid=array of array of string Var MsGS:TMessageGrid; 【例7-3】创建一个三角形的矩阵,并在一个ListBox列表框中显示出来。 如程序所示 7.2 记录类型 Object Pascal的记录类型跟数据库中的记录概念很相似,记录类型中的元素可以理解为数据库中的字段。事实上,Object P

文档评论(0)

132****9295 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档