第4章数组 本章要点: 区数组的基本概念 区静态数组的定义和使用 区动态数组的定义和使用 区数组的应用
本章要点: 数组的基本概念 静态数组的定义和使用 动态数组的定义和使用 数组的应用 第4章 数 组
41静态数组 数组是相同类型的元素按一定顺序组成的序列。数组中的每一个元素 都可以通过数组名和惟一一个索引号来存取。在 Object Pascal中可以定 义数组元素个数一定的数组,即静态数组。根据静态数组的维数可以把 数组分为一维静态数组、二维静态数组和多维静态数组。 4.1.1定义 静态数组在程序初始化时必须分配内存单元,明确其固定的大小和 元素的数据类型。 1.一维静态数组 维静态数组类型声明格式为: ype <数组类型名称>=amay<下标>]of<基类型>; 如定义一个数组类型 Type My Array=array[1.100]of Real 表示定义了一个有100个元素的数组类型,元素下标从1到100, 每个数组元素都是Rea类型,数组类型标识符为 MyArray Uprise Dephi
4.1 静态数组 数组是相同类型的元素按一定顺序组成的序列。数组中的每一个元素 都可以通过数组名和惟一一个索引号来存取。在Object Pascal中可以定 义数组元素个数一定的数组,即静态数组。根据静态数组的维数可以把 数组分为一维静态数组、二维静态数组和多维静态数组。 静态数组在程序初始化时必须分配内存单元,明确其固定的大小和 元素的数据类型。 4.1.1 定义 1. 一维静态数组 一维静态数组类型声明格式为: Type <数组类型名称>=array[<下标>]of <基类型>; 如定义一个数组类型: Type MyArray=array[1..100]of Real; 表示定义了一个有100个元素的数组类型,元素下标从1到100, 每个数组元素都是Real类型,数组类型标识符为MyArray
41.1定义(1) 顺序控制结构是计算杋按照语句的前后顺序依次执行的程序结构。在顺 序控制结构中,程序依次地经过输入、处理到最后的输出。 Delphi7.0提供 了基本的输入输岀控件(在第7章中将给予介绍)。对于顺序控制结构来说, 组成程序体主要语句就是赋值语句。接下来通过一个实例来说明顺序控制结 构的程序设计方法 【例3-1】大小写转换程序。 主要步骤 ⊙进入Deph70后在 standard标签页中找到相关组件,设计如图3-1窗体 及有关对象。 分别在窗体的建立、小写按钮单击和大写按钮单击事件中输入如下代 码。 InpriseaDephl
4.1.1 定义(1) 顺序控制结构是计算机按照语句的前后顺序依次执行的程序结构。在顺 序控制结构中,程序依次地经过输入、处理到最后的输出。Delphi 7.0提供 了基本的输入/输出控件(在第7章中将给予介绍)。对于顺序控制结构来说, 组成程序体主要语句就是赋值语句。接下来通过一个实例来说明顺序控制结 构的程序设计方法。 【例3-1】大小写转换程序。 1. 主要步骤 进入Delphi 7.0后在standard标签页中找到相关组件,设计如图3-1窗体 及有关对象。 分别在窗体的建立、小写按钮单击和大写按钮单击事件中输入如下代 码。 图3-1 大小写转换 程序
41.1定义(2) procedure TForm1. FormCreate(sender: TObject) begin edit1.Text:=";∥初始化文本框,使其为空 end procedure TForm1. Button1Click(Sender: Tobject var s: string; begin s: =edit Text edt1.Text:=| oWercase(S);∥转换成小写 end 数组类型标识符可以是任何合法的标识符。 object Pascal允许下标的 类型为整数类型、字符类型、布尔类型、子界类型、枚举类型等。而元素类 型可以为任意的数据类型,但在同一数组中,所有元素的数据类型必须相同 对于用户定义的数据类型作为下标类型,在使用之前必须声明。例如可以进 行如下定义: Inprise Dephi
4.1.1 定义(2) 数组类型标识符可以是任何合法的标识符。Object Pascal 允许下标的 类型为整数类型、字符类型、布尔类型、子界类型、枚举类型等。而元素类 型可以为任意的数据类型,但在同一数组中,所有元素的数据类型必须相同。 对于用户定义的数据类型作为下标类型,在使用之前必须声明。例如可以进 行如下定义: procedure TForm1.FormCreate(Sender: TObject); begin edit1.Text:=''; //初始化文本框,使其为空 end; procedure TForm1.Button1Click(Sender: TObject); var s:string; begin s:=edit1.Text; edit1.Text:=lowercase(s); // 转换成小写 end;
41.1定义(3) pe Color=(red, green, blue) Number=0. 100 My Array=Array[Color]of Integer Color Array=Array[Number]of Color 以上就定义了一个以 My Array为标识的数组类型,其元素下标分别为red、 green和bue,每个数组元素都是 INteger类型。 经过数组类型声明之后才可以定义数组变量。就像定义整型或实型变量一样, 通过变量说明语句定义变量,例如: var Array 1, Array2: MyArray 上面定义了两个数组变量Aray1和Aray2,它们的数据类型是 My Array; 也可以把数组类型的定义和数组变量的定义组合起来,以便简化代码,例如: var Array 1, Array2: Array [1.100]of real 要访问数组中的元素,可以用数组名加方括号,方括号内是元素的下标值 如Aray13]、Aray2[20]等。方括号内的下标值必须符合数组类型的定义, 其类型必须与下标类型一致,其值在下标取值范围。另外,下标可以是表达 式 Inprise Dephi
4.1.1 定义(3) Type Color=(red,green,blue); Number=0..100; MyArray=Array[Color] of Integer; ColorArray=Array[Number] of Color; 以上就定义了一个以MyArray为标识的数组类型,其元素下标分别为 red、 green和blue,每个数组元素都是Integer类型。 经过数组类型声明之后才可以定义数组变量。就像定义整型或实型变量一样, 通过变量说明语句定义变量,例如: var Array1,Array2:MyArray; 上面定义了两个数组变量Array1和Array2,它们的数据类型是MyArray; 也可以把数组类型的定义和数组变量的定义组合起来,以便简化代码,例如: var Array1,Array2:Array[1..100] of real; 要访问数组中的元素,可以用数组名加方括号,方括号内是元素的下标值, 如Array1[3] 、Array2[20]等。方括号内的下标值必须符合数组类型的定义, 其类型必须与下标类型一致,其值在下标取值范围。另外,下标可以是表达 式