网站大量收购闲置独家精品文档,联系QQ:2885784924

第九讲 集合与记录.ppt

  1. 1、本文档共19页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第九讲 集合与记录

* * 第八章 集合与记录 8.2 记录 8.2.1 记录的概念 在程序中对于组织处理成批的数据来说,数组是一种十分方便的数据类型,而且数组的使用很灵活。但是数组也有一个很显而易见的缺陷,那就是:一个数组中的所有数据元素都必须具有相同的类型。而且日常生活和实际问题中却会有遇到另一种情况,那就是一批数据是由性质不同的多种成分组成的。例如,要处理100名学生的档案情况,每个学生的数据包含以下几个数据项: 学号 字符串类型 姓名 字符串类型 年龄 整型 性别 字符型 是否团员 布尔类型 家庭住址 字符串类型 电话号码 字符串类型 语文成绩 实型 数学成绩 实型 英语成绩 实型 政治成绩 实型 从上面我们可以看出,这种数据的各个成分是完全不同的数据类型,我们很难用数组或其他数据结构来形象有效地组织和处理。为此,Turbo Pascal为我们提供了一种叫“记录”的数据类型。 记录是由一些称为“域(又叫成员)”的数据成分所组成的一种构造类型。其中每个域(成员)可以具有不同的类型。例如,对上面的例子我们就可以把它定义成一个记录类型,它是由11个“域(成员)“所组成:学号、姓名、年龄、性别、是否团员、家庭住址、电话号码、语文成绩、数学成绩、英语成绩、政治成绩。其中学号、姓名、家庭住址、电话号码是字符串类型;年龄是整型;性别是字符型;是否团员是布尔类型;其他域为实型。 正因为在一个记录中允许多种不同类型的数据共存,所以记录类型在程序设计中用途非常广泛。 8.2.2记录类型的定义及记录变量的说明 记录类型由用户根据需要在程序的type区中自行定义,基本形式为: type 类型标示符 = record 域名1:类型; 域名2:类型; … 域名n:类型; end; 如,以上有关学生的数据可以定义成以下的记录: type studata = record num :string[6]; name:string[10]; age :integer; sex :char; ty :boolean; add :string[30]; tel :string[11]; chinese:real; maths:real; english:real; politicis:real; end; 对于记录类型的定义,有几点需要注意: 在一个记录类型中,不能有相同的域名;在多个不同的记录类型中可以有相同的域名; 在记录中,各个域的类型可以是简单的数据类型,也可以是数组等其他构造类型。 如:在定义学生记录前先定义一个数组类型用来存放成绩: type score:array[1. .4]of real; 则,在上面的记录类型定义中,可以将几门课的成绩域(即:chinese、maths、english、politics)合并成一个域:s:score; 也可以直接写在一起,即s:array[1. .4]of real; 这样,s[1]、s[2]、s[3]、s[4]就分别表示一位学生的语文、数学、英语、政治成绩。 定义了记录类型后,我们就可以定义一些记录类型变量了,记录型变量的定义同其他类型变量的定义方式相同。如:var stu:studata; 这样,就定义了一个记录型变量stu,用来存放一位学生的数据。也可以将记录类型的定义和记录型变量的定义放在一起,如定义一个学生的出生日期: type date = record year:1980. .1999; month:1. .12; day:1. .31;

文档评论(0)

xcs88858 + 关注
实名认证
内容提供者

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

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档