第4章 数组与记录类型.ppt

第4章 数组与记录类型.ppt

ID:48861924

大小:525.00 KB

页数:35页

时间:2020-01-31

第4章 数组与记录类型.ppt_第1页
第4章 数组与记录类型.ppt_第2页
第4章 数组与记录类型.ppt_第3页
第4章 数组与记录类型.ppt_第4页
第4章 数组与记录类型.ppt_第5页
资源描述:

《第4章 数组与记录类型.ppt》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、第4章数组与记录类型上章回顾:理解顺序结构、选择结构和循环结构程序设计的思想理解双分支语句和多分支语句的含义掌握利用双分支语句和多分支语句设计分支程序的方法理解循环的概念掌握循环程序设计的方法以及常用的算法,如累加求和、穷举法等本章要点:理解数组的概念,含义与定义方法掌握引用数组元素的方法理解记录的概念,含义与定义方法掌握使用记录常用方法4.1循序渐进学理论4.1.1数组的定义及使用数组是一些具有相同类型的元素按一定顺序组成的序列。其中每个元素由其对应的位置来指定,这个位置就是数组的索引号(又称下标),数组元素与索引号是一一对应的,用户可以

2、通过这个索引号来存取数组的每个元素。数组中的各元素是顺序地安排在内存中一段连续的存储空间中。按照数组在定义时是否确定了元素个数可以将数组分为静态数组和动态数组。1数组的定义在Delphi5/6版本中的ObjectPascal引入了动态数组,数组的内存分配不再局限于静态的,可以采用动态方式为数组分配内存区。因此,数组可分为静态数组和动态数组两种类型。(1)静态数组静态数组在程序初始化时必须分配内存单元,明确其固定的大小和元素的数据类型。一维静态数组数组通常可分为一维、二维和多维数组,在ObjectPascal中,定义一个一维数组类型,其声明格式为:Type〈数

3、组类型标识符〉=array[〈下标类型〉]of〈基类型〉;例如:(1)Typemyarry=array[1…100]ofreal;(2)Typemcolor=(red,green,blue);Typemint=0…50;myarry=array[mcolor]ofinteger;test1=array[mint]ofmcolor数组变量:array1,array2:myarray;tcolor:test1;注意事项:数组类型和数组变量:程序不能直接使用类型,可以使用变量;定义时可以二合一;varayyay1,array2:array[0…100]ofreal

4、;访问数组元素,通过数组名加方括号,括号内为数组下标值,下标值符合取值范围,下标可以为表达式;标准函数Low和High可以返回数组的最小和最大下标值,Length可以返回数组的长度;数组赋初值通常通过循环;二维静态数组二维数组是指一个一维数组中的元素类型本身又是一个一维数组。其一般形式为;Type〈数组标识符〉=Array[〈下标类型1〉]ofArray[〈下标类型2〉]of〈元素类型〉;理解为每行就是一个元素,即又是一个一维数组的递归定义;也可以把上述形式简写成下面的形式:Type〈数组标识符〉=Array[〈下标类型1〉,〈下标类型2〉]of〈元素类型〉

5、;通常使用第二种方式的定义;例如:Typetp=array[1…5]ofarray[1…10]ofreal;tmax=array[1…5,1…20]ofinteger;VarTr1:tp;tr2:tmax;array1:[1…5,1…8]ofinteger;二维数组赋初值通常采用二重循环;多维静态数组多维静态数组的一般格式为:Type〈数组类型标识符〉=array[〈下标类型1〉,〈下标类型2〉,…,〈下标类型n〉]of〈基类型〉;TypeTest1=array[1..10,1..10,1..30]ofinteger;VarMyarray:array[0..

6、5,0..6,0..8]ofreal;使用静态数组的注意事项零基准数组。所谓零基准数组,就是下标从零开始的数组,例如:array[0..5]ofchar数组的整体赋值。假设有两个数组array1和array2,其变量定义如下:Vararray1,array2:[1..10]ofchar;如果要把array2中每一个元素的值相应赋值给array1中的元素,一般是使用For语句,例如:ForI:=1To10Doarray1[i]:=array2[i];把数组作为过程或函数的形参。ProcedureMyProc(varArray1:Array[1..10]ofIn

7、teger);Began…End;上述程序中,数组的定义和传递并在一起进行,并且Array1是作为变量参数实现地址传递。另外,数组也可以作为函数的返回类型。开放式数组数组作为形参传递给过程或函数是,长度可以不确定,可以传递不同长度的数组作为实数;例如:定义两个长度不同的数组Varx1:array[1…10]ofreal;Varx2:array[3…8]ofreal;Proceduremyproc(x:arrayofreal)Begin…end;BeginMyproc(x1);Myproc(x2);End;开放数组是零基准数组,因此数据和下标可能不相符开放数组

8、可以作为数值参数,变量参数,常量参数实现传递也可以直

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。