pascal程序设计(第9课)-集合、记录类型

pascal程序设计(第9课)-集合、记录类型

ID:5181024

大小:201.50 KB

页数:22页

时间:2017-11-26

pascal程序设计(第9课)-集合、记录类型_第1页
pascal程序设计(第9课)-集合、记录类型_第2页
pascal程序设计(第9课)-集合、记录类型_第3页
pascal程序设计(第9课)-集合、记录类型_第4页
pascal程序设计(第9课)-集合、记录类型_第5页
资源描述:

《pascal程序设计(第9课)-集合、记录类型》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、Pascal语言第9课目前为止,我们已经学习了4个标准类型(实型、整型、字符型、布尔型)和2个用户定义简单类型(枚举型、子界型),1个用户定义结构类型(数组)。本节将研究另一个用户定义结构类型——集合。Pascal是包括集合数据类型的第一个通用程序设计语言,在Pascal中允许执行通常的集合运算——并、交、差。此外,使用集合成员检查可以方便的知道一个特定的数据项是否是某集合中的项。在数学中,集合由一对包含集合元素的花括号(如{1,3,5,7,9})表示,由于花括号在Pascal中用于注释,所以我们用方括号代替花括号表示集合。【集合类型】集合类型的一般定义形式如下:Type<集

2、合标识符>=setof<基类型>;Var<集合类型变量表>:<集合标识符>;可以合并成如下形式:Var<集合类型变量表>:setof<基类型>;例如:typenum=setofchar;varn:num;或varn:setofchar;【集合类型说明】集合类型的一般定义形式如下:Type<集合标识符>=setof<基类型>;Var<集合类型变量表>:<集合标识符>;注意1:基类型必须是有序类型,如整型子界、字符型、布尔型、枚举类型等,而整型、实型、数组等不能作为集合的基类型。但是允许数组的基类型是集合类型。注意2:为了程序效率,Pascal编译程序都限制了集合类型值的数目,所

3、以整型不能作为集合的基类型,而整型的子界可以作为集合的基类型。【集合类型说明】1、赋值空集和全集:处理集合之前,一般都要给集合变量赋以初值。例如:Typemonth=(jan,feb,mar,apr,may,jun,jul,aug,sep,oct,nov,dec);monthset=setofmonth;Varwinter,summer:monthset;Beginwinter:=[dec,jan,feb];summer:=[jun..aug];说明:定义完枚举类型month之后,用它作为基类型定义了集合类型monthset,然后用集合类型标识符monthset定义了两个集合

4、类型变量winter和summer。【集合运算】集合的赋值语句形式为:<集合变量>:=<集合表达式>;比如上面的两个赋值语句:winter:=[dec,jan,feb];第1句summer:=[jun..aug];第2句注意:a、集合表达式可以是集合值,集合值由一对方括号和已定义的集合基类型的值表组成(比如第1句),连续的值可以写成子界的形式(比如第2句)。b、集合表达式也可以是另一个集合变量或使用Pascal集合运算的两个或多个集合的运算式,但必须赋值相容。c、集合表达式的所有元素必须包括在左端集合变量的基类型中。d、任何集合在参加运算之前总是应该初始化的:【集合运算】我们

5、有时希望使一个集合为空,不包含任何元素。在Pascal中,空集合由一对方括号[]表示,如:summer:=[]。如果要将集合初始化为全集,需要包括基类型的所有值。例:TypeLetterset=setof‘a’..’z’;VarVowel,letter:letterset;BeginVowel:=[‘a’,’e’,’i’,’o’,’u’];{初始化为元音集合}Letter:=[‘a’,’z’];{初始化为全集}【集合运算】2、集合的并交差:集合的并交差要求类型相容的两个集合作为运算对象。两个集合的并(+):定义为在任意集合中或两个集合中元素的汇集。如:[1,2,4]+[2,3

6、]是[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’,’d’]-[‘c’,’d’,’f’]是[‘a’][1,2,3,4]-[4,1,3,2]是[]【集合运算】2

7、、集合的并交差:注意:a、在集合中的次序是无关紧要的,集合[1,2,3,4]和[4,1,3,2]被认为是相同的,所以上式中它们的差为空集。b、当运算符“+、*、-”两边的运算对象是集合时,便执行相应的集合运算。如:并set1+set2交set1*set2差set1-set2其中set1和set2是集合变量或集合值(括在方括号中的元素表)。c、集合运算的优先规则:先*后+、-,统计从左到右计算,为了避免混淆,最好使用括号。d、当我们希望在一个已有的集合中加入一个新的元素时,要通过将已有的集合与由新元素组成

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。