- 1、本文档共26页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第七章枚举子界与集合
7.1?? 类型定义语句Object Pascal语言的高级数据类型在使用之前必须首先使用类型定义语句进行定义。类型定义语句的语法格式为:
Type〈标志符1〉=〈类型1〉;〈标志符2〉=〈类型2〉;……〈标志符3〉=〈类型3〉;
?? 其中保留字Type表示类型定义段的开始。〈标志符〉是为用户自定义类型取的名称,〈类型〉是用户定义的数据类型名,既可以是语言的标准数据类型,也可以是Object Pascal语言的高级数据类型。
7.2? ?枚举类型在处理诸如物体的颜色、人的职业、教师的职称,一个星期的7天等非数值数据时,可以用数值或字符串来表示,比如1表示红色,2 表示黄色;或”red”表示红色,”Yellow”表示黄色。但是这样的表示都存在一些缺点:使用数值表示很不直观,特别是当表示的种类较多时容易引起混乱和错误,使用字符串则需要占用较多的内存。??? 仔细分析这些数据,可知这些数据的个数总是有限的,而且可以一一列举。为此,Object Pascal 提供的用户自定义数据类型——枚举类型,可以很方便地处理这类数据。
本节主要讲授:
枚举类型定义与变量的声明
枚举类型的运算
7.2.1? 枚举类型定义与变量的声明
1 枚举类型的定义
枚举类型的定义格式为:
Type〈类型名称〉=(〈标志符1〉,〈标志符2〉,…,〈标志符n〉);
说明:(1) 〈类型名称〉是用户定义的枚举类型名称。(2) 〈标志符〉表示该类型数据中的元素,圆括号中列出了该类型的所有取值,这些值称为枚举常量。(3) 每个枚举常量必须是标志符,不能是其他任何数据类型。枚举常量不允许在同一枚举类型定义中重复出现,也不允许同时在不同的枚举类型定义中出现。
例如:下面代码定义了一个具有6个元素的枚举类型Color:TypeColor = (Red, Blue, Green, Yellow, White, Black );Day = (Sunday, Monday, Tuesday, Wednesday, Thursday, Friday????? Saturday);
2 枚举类型变量的声明
枚举类型变量的声明与其他类型变量的声明完全相同,如下面的代码声明了一个上述枚举类型Color的变量C1和C2:
? Var C1,C2: Color;
7.2.2? ??枚举类型的运算
从本质上看,枚举类型不过就是用一些枚举常量来表示一组连续的整数。这些枚举常量就像符号常量,是整数的形象化表示。虽然不能对枚举常量直接进行算术运算,但是可以对枚举常量进行关系运算或通过函数进行间接的算术运算。
1 使用函数(五个函数)
??? Object Pascal规定,在枚举类型定义语句中列出的每一个枚举常量都对应一个唯一的序数。对于一个具有n个值的枚举类型,其中的枚举常量从左到右依次对应序数 1 -- n-1 。使用函数 Ord 可以得到枚举常量所对应的序数,函数 Pred 和 Succ 可以分别得到枚举常量的“前趋值”和“后继值”,函数 Low 和 High 则可分别得到第一个枚举常量和最末一个枚举常量。例如,在下面的定义中:?? 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。
注意:枚举类型的第一个枚举常量没有前趋值,最后一个没有后继值。
2 关系运算
? 由于每个枚举常量对应一个唯一的序数,因此可以在枚举常量之间进行关系运算: , =, =, , 和=。如在上述定义中,?????? ( Sun Wed ) = True,?????? ( Fri = Sat ) = False。
7-1】:显示系统日期,并能够返回昨天、今天和明天的星期
分析:将一周7天定义成枚举类型。社今天(Today)、昨天(Yesterday)和明天(Tomorrow)为枚举类型Week的变量。通过函数DayofWeek得到一个整数序号,再通过Case语句将该序号所对应的枚举元素赋给Today,然后根据Today的值,用Pred和Succ两个函数分别确定Yesterday和Tomorrow的值。最后再利用Case语句输出所对应的星期数。
设计步骤如下:(1) 应用程序用户界面的建立与对象属性的设置,注意三个按钮Button1,Button2,Button3的Tag属性分别设为:0,1,2。
(2) 定义枚举类型:?????? Typ
您可能关注的文档
最近下载
- 电阻焊的原理.ppt VIP
- 机械设计与创新 三相交流异步电动机的选型原则步骤及实例 【课件】任务6.1.1三相交流异步电动机的选型原则步骤及实例.pptx VIP
- 一建【建筑】口袋里的建造师-周超【完全版】.pdf VIP
- 全身型幼年特发性关节炎及合并巨噬细胞活化综合征诊疗专家共识.docx VIP
- 声乐课程教学大纲-音乐学院.pdf
- 食品安全管理保障措施.doc VIP
- 燃气锅炉安全隐患排查治理检查表.doc VIP
- (2023秋)冀教版一年级数学上册《 前后、左右》PPT课件.pptx VIP
- 课程设计与授课技巧.pptx VIP
- 巨噬细胞活化综合征与幼年特发性关节炎 MAS and SOJIA.ppt VIP
文档评论(0)