Delphi第6章枚举、子界与教案解析.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第6章 枚举、子界与集合类型 本章介绍的枚举、子界与集合类型就是用户自定义的数据类型,属于Object Pascal语言的高级数据类型。 6.1 类型定义语句 6.2 枚举类型 6.3 子界类型 6.4 集合类型 * 6.1 类型定义语句 Object Pascal语言的高级数据类型在使用之前必须首先使用类型定义语句进行定义。类型定义语句的语法格式为: type 〈标识符1〉=〈类型1〉; 〈标识符2〉=〈类型2〉; 其中保留字type表示类型定义段的开始。〈标识符〉是用户为自定义类型取的名称,〈类型〉是用户定义的数据类型名,既可以是Object Pascal语言的标准数据类型,也可以是Object Pascal语言的高级数据类型。 * 6.2 枚举类型 在处理诸如物体的颜色、人的职业、教师的职称等非数值数据时,可以用数值或字符串来表示,比如用1表示红色,2表示黄色;或用“red”表示红色,“yellow”表示黄色。但这样的表示都存在一些缺点:使用数值表示很不直观,特别当表示的种类较多时容易引起混乱和错误,使用字符串则需要占用较多的内存。 * 6.2.1 枚举类型定义与变量的声明 1. 枚举类型的定义 枚举类型的定义格式如下: type 〈类型名称〉=(〈标识符1〉,〈标识符2〉,…,〈标识符n〉); 说明: 例如,下面代码定义了一个具有6个元素的枚举类型Color: type Color = (Red, Blue, Green, Yellow, White, Black); * 6.2.1 枚举类型定义与变量的声明 2. 枚举类型变量的声明 枚举类型变量的声明与其他类型变量的声明完全相同,如下面的代码声明了一个上述枚举类型Color的变量C1和C2: var C1, C2 : Color; * 6.2.2 枚举类型的运算 虽然不能对枚举常量直接进行算术运算,但是可以对枚举常量进行关系运算或通过函数进行间接的算术运算。 1. 使用函数 对于一个具有n个值的枚举类型,其中的枚举常量从左到右依次对应序数0~n-1。使用函数Ord可以得到枚举常量所对应的序数,函数Pred和Succ可以分别得到枚举常量的“前趋值”和“后继值”,函数Low和High则可分别得到第一个枚举常量和最末一个枚举常量。 * 6.2.2 枚举类型的运算 例如,在下面的定义中: type week = (Sun, Mon, Tue, Wed, Thu, Fri, Sat); 枚举常量的序数依次为:0、1、2、3、4、5、6,ord(Fri)的值为5,Pred(Fri)的值为Thu,Succ(Fri)的值为Sat。Low(week)的值为Sun,High(week)的值为Sat。 注意:枚举类型的第一个枚举常量没有前趋值,最末一个枚举常量没有后继值。 * 6.2.2 枚举类型的运算 2. 关系运算 由于每个枚举常量对应一个唯一的序数,因此可以在枚举常量之间进行关系运算。如在上述定义中,Sun Wed的值为真(True),Fri = Sat的值为假(False)。 【例6-1】显示系统日期,并能够返回昨天、今天和明天的星期,如程序所示 * 6.3 子界类型 在实际应用中,许多变量的取值都有一定范围的限制,如每年的月份数在1~12之间,每月的天数在28~31之间,而某门课程成绩的5个等级可以用字母A~E表示。在这些问题中,数据的类型总是顺序类型,数据的取值范围则是该类型数据取值的一部分。在Object Pascal中,这种具有确定的数据类型(称为基类型),且其取值范围确定的数据可以定义为“子界类型”。 * 6.3.1 子界类型定义与变量的声明 . 子界类型的定义 子界类型的定义格式如下: type 〈类型名称〉=〈常量1〉..〈常量2〉; 例如: type month = 1..12; week = (Sun, Mon, Tue, Wed, Thu, Fri, Sat); workday = Mon .. Fri; * 6.3.1 子界类型定义与变量的声明 2. 子界类型变量的声明 var m1 : month; w1 : workday; 也可以不经过类型定义,而直接声明子界类型的变量: var m1, m2 : 1..12; * 6.3.2 子界类型变量的运算 子界类型所允许的运算与其基类型所允许的运算完全一致,如基类型为整型的子界类型变量可以进行算术、关系等运算,而基类型为枚举类型的子界类型变量仅能进行关系运算。 【例6-2】输入一个10进制的小数,转换为2进制、3进制、8进制和16进制的

文档评论(0)

我是兰花草 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档