- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第四章数组与记录类型
第4章 数组与记录类型; 本章要点:
? 理解数组的概念,含义与定义方法
? 掌握引用数组元素的方法
? 理解记录的概念,含义与定义方法
? 掌握使用记录常用方法
;4.1 循序渐进学理论 ;1 数组的定义;(1)静态数组;注意事项:
数组类型和数组变量:程序不能直接使用类型,可以使用变量;定义时可以二合一;
var ayyay1,array2:array[0…100] of real;
访问数组元素,通过数组名加方括号,括号内为数组下标值,下标值符合取值范围,下标可以为表达式;
标准函数Low和High可以返回数组的最小和最大下标值,Length可以返回数组的长度;
数组赋初值通常通过循环;;二维静态数组
二维数组是指一个一维数组中的元素类型本身又是一个一维数组。
其一般形式为;
Type
〈数组标识符〉=Array[〈下标类型1〉] of Array[〈下标类型2〉] of 〈元素类型〉;
理解为每行就是一个元素,即又是一个一维数组的递归定义;
也可以把上述形式简写成下面的形式:
Type
〈数组标识符〉=Array[〈下标类型1〉,〈下标类型2〉] of 〈元素类型〉;
通常使用第二种方式的定义;
例如:
Type
tp=array[1…5]of array[1…10]of real;
tmax=array[1…5,1…20] of integer;
Var
Tr1:tp;tr2:tmax;
array1:[1…5,1…8]of integer;
二维数组赋初值通常采用二重循环;;多维静态数组
多维静态数组的一般格式为:
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;
;使用静态数组的注意事项
零基准数组。
所谓零基准数组,就是下标从零开始的数组,例
如:array [0..5] of char
数组的整体赋值。
假设有两个数组array1和array2,其变量定义如下:
Var
array1,array2:[1..10] of char;
如果要把array2中每一个元素的值相应赋值给
array1中的元素,一般是使用For语句,
例如:For I:=1To 10 Do array1[i]:=array2[i];;把数组作为过程或函数的形参。
Procedure My Proc(var Array1:Array[1..10] of Integer);
Began
…
End;
上述程序中,数组的定义和传递并在一起进行,并且Array1是作为变量参数实现地址传递。另外,数组也可以作为函数的返回类型。
开放式数组
数组作为形参传递给过程或函数是,长度可以不确定,可以传递不同长度的数组作为实数;
例如:定义两个长度不同的数组
Var x1:array[1…10] of real;
Var x2:array[3…8] of real;
Procedure myproc(x:array of real)
Begin…end;
Begin Myproc(x1); Myproc(x2); End;
开放数组是零基准数组,因此数据和下标可能不相符
开放数组可以作为数值参数,变量参数,常量参数实现传递
也可以直接使用
Myproc([1,2,3,4]); Myproc([1,2,3.4.5.6]);【例4-1】利用数组求出任意10个数中的最大及最小值。
如程序所示
【例4-2】利用二维数组建立一个8×8的方阵,该矩阵对角线元素为8,其余元素为1,结果显示在列表组件ListBox1中。
如程序所示
;procedure TForm1.Button1Click(Sender: TObject);
var
i,ma,mi:integer;
a:array[1..10] of integer;
begin
for i:=1 to 10 do
begin
randomize; // 初始化随机函数
a[i]:=random(i*100); // 产生10个随机
您可能关注的文档
- 第十二课秦朝的统一.pptx
- 第十二课新潮冲击下的生活生活.ppt
- 第十五章第二节原子核核反应及核能.ppt
- 第十五章编辑和渲染三维对象.ppt
- 第十二课明清时期的反侵略斗争.ppt
- 第十五讲-质量分析常用工具.ppt
- 第十五讲-清代的经学复兴.ppt
- 第十五讲机械运动和力(一).ppt
- 第十五讲调角波性质.ppt
- 第十五讲高斯定理安培环路定律.ppt
- 《模具制造企业精益生产管理体系与市场响应速度研究》教学研究课题报告.docx
- 初中生校园传统节日庆典活动中的民间艺术传承与创新教学研究课题报告.docx
- 《图书馆均等化服务在图书馆服务创新中的实践探索》教学研究课题报告.docx
- 初中生课间操锻炼效果与学习效率关系分析教学研究课题报告.docx
- 高校思政课实践教学基地建设中的创新教育模式研究教学研究课题报告.docx
- 初中物理:雨水pH值变化与大气污染物排放关系研究教学研究课题报告.docx
- 高中地理探究:校园鸟类迁徙与气候变化对生态环境的影响教学研究课题报告.docx
- 2024年版新生产安全法考试试题附答案.docx
- 家长意见处理问题溯源.docx
- 家长意见处理信息化建设.docx
文档评论(0)