- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Pascal程序设计(第9的课)-集合、记录类型
Pascal语言;目前为止,我们已经学习了4个标准类型(实型、整型、字符型、布尔型)和2个用户定义简单类型(枚举型、子界型),1个用户定义结构类型(数组)。本节将研究另一个用户定义结构类型——集合。
Pascal是包括集合数据类型的第一个通用程序设计语言,在Pascal中允许执行通常的集合运算——并、交、差。此外,使用集合成员检查可以方便的知道一个特定的数据项是否是某集合中的项。
在数学中,集合由一对包含集合元素的花括号(如{1,3,5,7,9})表示,由于花括号在Pascal中用于注释,所以我们用方括号代替花括号表示集合。 ;集合类型的一般定义形式如下:
Type
集合标识符=set of 基类型;
Var
集合类型变量表:集合标识符;
可以合并成如下形式:
Var
集合类型变量表:set of 基类型;
例如: type
num=set of char;
var
n:num;
或
var
n: set of char;;集合类型的一般定义形式如下:
Type
集合标识符=set of 基类型;
Var
集合类型变量表:集合标识符;
注意1:基类型必须是有序类型,如整型子界、字符型、布尔型、枚举类型等,而整型、实型、数组等不能作为集合的基类型。但是允许数组的基类型是集合类型。
注意2:为了程序效率,Pascal编译程序都限制了集合类型值的数目,所以整型不能作为集合的基类型,而整型的子界可以作为集合的基类型。;1、赋值空集和全集:
处理集合之前,一般都要给集合变量赋以初值。例如:
Type
month=(jan,feb,mar,apr,may,jun,jul,aug,sep,oct,nov,dec);
monthset=set of month;
Var
winter,summer:monthset;
Begin
winter:=[dec,jan,feb];
summer:=[jun..aug];
说明:定义完枚举类型month之后,用它作为基类型定义了集合类型monthset,然后用集合类型标识符monthset定义了两个集合类型变量winter和summer。;集合的赋值语句形式为:
集合变量:=集合表达式;
比如上面的两个赋值语句:
winter:=[dec,jan,feb];第1句
summer:=[jun..aug]; 第2句
注意:
a、集合表达式可以是集合值,集合值由一对方括号和已定义的集合基类型的值表组成(比如第1句),连续的值可以写成子界的形式(比如第2句)。
b、集合表达式也可以是另一个集合变量或使用Pascal集合运算的两个或多个集合的运算式,但必须赋值相容。
c、集合表达式的所有元素必须包括在左端集合变量的基类型中。
d、任何集合在参加运算之前总是应该初始化的:;我们有时希望使一个集合为空,不包含任何元素。在Pascal中,空集合由一对方括号[ ]表示,如:summer:=[ ]。
如果要将集合初始化为全集,需要包括基类型的所有值。
例:
Type
Letterset=set of ‘a’..’z’;
Var
Vowel,letter:letterset;
Begin
Vowel:=[‘a’,’e’,’i’,’o’,’u’]; {初始化为元音集合}
Letter:=[‘a’,’z’]; {初始化为全集};2、集合的并交差 :集合的并交差要求类型相容的两个集合作为运算对象。
两个集合的并(+):定义为在任意集合中或两个集合中元素的汇集。
如:[1,2,4]+[2,3] 是 [1,2,3,4]
[1,3]+[2,4] 是 [1,2,3,4]
[‘a’,’d’]+[‘c’,’d’,’f’] 是 [‘a’, c’,’d’ ,’f’]
两个集合的交(*):定义为两个集合所共有的所有元素的汇集。
如:[1,2,4]*[2,3] 是 [2]
[1,3]*[2,4] 是 [ ]
[‘a’,’d’]*[‘c’,’d’,’f’] 是 [’d’]
两个集合的差(-):定义为在集合A中,而不在集合B中元素的汇集。
如:[1,2,4]-[2,3] 是 [1,4]
[1,3]-[2,4] 是 [1,3]
[‘a
文档评论(0)