Pascal程序设计(第9课)-集合、类型(精品).ppt
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《Pascal程序设计(第9课)-集合、类型(精品).ppt》由会员分享,可在线阅读,更多相关《Pascal程序设计(第9课)-集合、类型(精品).ppt(22页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第9 9课课目目前前为为止止,我我们们已已经经学学习习了了4 4个个标标准准类类型型(实实型型、整整型型、字字符符型型、布布尔尔型型)和和2 2个个用用户户定定义义简简单单类类型型(枚枚举举型型、子子界界型型),1 1个个用用户户定定义义结结构构类类型型(数数组组)。本本节节将将研研究究另另一一个个用用户户定定义义结构类型结构类型集合。集合。PascalPascal是是包包括括集集合合数数据据类类型型的的第第一一个个通通用用程程序序设设计计语语言言,在在PascalPascal中中允允许许执执行行通通常常的的集集合合运运算算并并、交交、差差。此此外外,使使用用集集合合成成员员检检查查可可以以
2、方方便便的的知知道道一一个个特特定定的的数数据据项项是是否否是是某集合中的项。某集合中的项。在在数数学学中中,集集合合由由一一对对包包含含集集合合元元素素的的花花括括号号(如如11,3 3,5 5,7 7,99)表表示示,由由于于花花括括号号在在PascalPascal中中用用于于注注释释,所所以以我我们们用用方括号方括号代替花括号代替花括号表示集合表示集合。【集合类型】集合类型】集合类型的一般定义形式如下:集合类型的一般定义形式如下:TypeType =set of set of ;VarVar :;可以合并成如下形式:可以合并成如下形式:VarVar :set of set of ;例如:
3、例如:typetype num=set of char;num=set of char;var var n:num;n:num;或或 varvar n:set of char;n:set of char;【集合类型说明】集合类型说明】集合类型的一般定义形式如下:集合类型的一般定义形式如下:TypeType =set of set of ;VarVar :;注注意意1 1:基基类类型型必必须须是是有有序序类类型型,如如整整型型子子界界、字字符符型型、布布尔尔型型、枚枚举举类类型型等等,而而整整型型、实实型型、数数组组等等不不能能作作为为集集合合的的基基类型。但是允许数组的基类型是集合类型。类型。
4、但是允许数组的基类型是集合类型。注注意意2 2:为为了了程程序序效效率率,PascalPascal编编译译程程序序都都限限制制了了集集合合类类型型值值的的数数目目,所所以以整整型型不不能能作作为为集集合合的的基基类类型型,而而整整型型的的子子界界可可以作为集合的基类型。以作为集合的基类型。【集合类型说明】集合类型说明】1 1、赋值空集和全集:、赋值空集和全集:处理集合之前,一般都要给集合变量赋以初值。例如:处理集合之前,一般都要给集合变量赋以初值。例如:TypeType month=(month=(janjan,febfeb,mar,mar,aprapr,may,may,junjun,julj
5、ul,augaug,sep,sep,octoct,novnov,decdec);monthset monthset=set of month=set of month;Var Var winter,summer:winter,summer:monthsetmonthset;Begin Begin winter:=winter:=decdec,janjan,febfeb;summer:=summer:=junjun.augaug;说说明明:定定义义完完枚枚举举类类型型monthmonth之之后后,用用它它作作为为基基类类型型定定义义了了集集合合类类型型monthsetmonthset,然然后后用
6、用集集合合类类型型标标识识符符monthsetmonthset定定义义了了两两个集合类型变量个集合类型变量winterwinter和和summersummer。【集合运算】集合运算】集合的赋值语句形式为:集合的赋值语句形式为:=;比如上面的两个赋值语句:比如上面的两个赋值语句:winter:=winter:=decdec,janjan,febfeb;第第1 1句句 summer:=summer:=junjun.augaug;第第2 2句句注意:注意:a a、集集合合表表达达式式可可以以是是集集合合值值,集集合合值值由由一一对对方方括括号号和和已已定定义义的的集集合合基基类类型型的的值值表表组组
7、成成(比比如如第第1 1句句),连连续续的的值值可可以以写写成成子子界界的的形形式式(比如第(比如第2 2句)。句)。b b、集集合合表表达达式式也也可可以以是是另另一一个个集集合合变变量量或或使使用用PascalPascal集集合合运运算算的的两个或多个集合的运算式,但必须赋值相容。两个或多个集合的运算式,但必须赋值相容。c c、集合表达式的所有元素必须包括在左端集合变量的基类型中。集合表达式的所有元素必须包括在左端集合变量的基类型中。d d、任何集合在参加运算之前总是应该初始化的:任何集合在参加运算之前总是应该初始化的:【集合运算】集合运算】我我们们有有时时希希望望使使一一个个集集合合为为
8、空空,不不包包含含任任何何元元素素。在在PascalPascal中,空集合由一对方括号中,空集合由一对方括号 表示,如:表示,如:summer:=summer:=。如果要将集合初始化为全集,需要包括基类型的所有值。如果要将集合初始化为全集,需要包括基类型的所有值。例:例:TypeType Letterset=set of a.z Letterset=set of a.z;VarVar Vowel,letter:letterset Vowel,letter:letterset;BeginBegin Vowel:=a,e,i,o,uVowel:=a,e,i,o,u;初初始始化化为为元音集合元音集合
9、 Letter:=a,z Letter:=a,z;初始化为全集初始化为全集【集合运算】集合运算】2 2、集集合合的的并并交交差差 :集集合合的的并并交交差差要要求求类类型型相相容容的的两两个个集集合作为运算对象。合作为运算对象。两个集合的并(两个集合的并(+):):定义为在任意集合中或两个集合中元素的汇集。定义为在任意集合中或两个集合中元素的汇集。如:如:11,2 2,4+24+2,3 3 是是 1 1,2 2,3 3,4 4 1 1,3+23+2,4 4 是是 1 1,2 2,3 3,44 a,d+c,d,f a,d+c,d,f 是是 a,c,d,fa,c,d,f两个集合的交(两个集合的交(
10、*):):定义为两个集合所共有的所有元素的汇集。定义为两个集合所共有的所有元素的汇集。如:如:11,2 2,4*24*2,3 3 是是 2 2 1 1,3*23*2,4 4 是是 a,d*c,d,f a,d*c,d,f 是是 dd两个集合的差(两个集合的差(-):):定义为在集合定义为在集合A A中,而不在集合中,而不在集合B B中元素的汇集。中元素的汇集。如:如:11,2 2,4-24-2,3 3 是是 1 1,44 1 1,3-23-2,4 4 是是 1 1,33 a,d-c,d,f a,d-c,d,f 是是 aa 1,2,3,4-4,1,3,2 1,2,3,4-4,1,3,2 是是 【集
11、合运算】集合运算】2 2、集合的并交差、集合的并交差 :注意:注意:a a、在在集集合合中中的的次次序序是是无无关关紧紧要要的的,集集合合1,2,3,41,2,3,4和和4,1,3,24,1,3,2被被认认为为是是相相 同的,所以上式中它们的差为空集。同的,所以上式中它们的差为空集。b b、当当运运算算符符“+“+、*、-”-”两两边边的的运运算算对对象象是是集集合合时时,便便执执行行相相应应的的集集合合运算。如:运算。如:并并 set1+set2set1+set2 交交 set1*set2set1*set2 差差 set1-set2set1-set2 其中其中set1set1和和set2se
12、t2是集合变量或集合值(括在方括号中的元素表)。是集合变量或集合值(括在方括号中的元素表)。c c、集集合合运运算算的的优优先先规规则则:先先*后后+、-,统统计计从从左左到到右右计计算算,为为了了避避免免混混淆淆,最好使用括号。最好使用括号。d d、当当我我们们希希望望在在一一个个已已有有的的集集合合中中加加入入一一个个新新的的元元素素时时,要要通通过过将将已已有有的集合与由新元素组成的单个元素集合相加得到。的集合与由新元素组成的单个元素集合相加得到。例例如如:要要在在集集合合11,3 3,4 4,55中中加加入入新新元元素素2 2应应写写成成:11,3 3,4 4,5+25+2,得到的集合
13、为,得到的集合为11,2 2,3 3,4 4,55。【集合运算】集合运算】3 3、集合的关系运算:、集合的关系运算:在在集集合合中中可可以以进进行行的的关关系系运运算算有有:=(相相等等)、(不不等等)、=(包集)。(包集)。运算运算=和和用于检查两个运算是否包含同样的元素。用于检查两个运算是否包含同样的元素。例如:例如:11,3=33=3,1 1 结果为结果为 truetrue;1 1,31,3 31,3 结果为结果为 falsefalse;1 1,2 2,4=34=3,4 4 结果为结果为 falsefalse;运运算算=决决定定子子集集关关系系,如如果果集集合合a a的的每每个个元元素素
14、也也是是集集合合b b的的元元素素,则则称称集集合合a a是集合是集合b b的子集(的子集(a=ba=b)。)。空集是任何集合的子集。空集是任何集合的子集。1 1,3=13=1,3 3 结果为结果为 truetrue;1 1,3=13=1,2 2,3 3,4 4 结果为结果为 truetrue;1 1,3 3,5=15=决决定定包包集集关关系系,如如果果集集合合b b的的每每个个元元素素也也是是集集合合a a的的元元素素,则则称称集集合合a a是集合是集合b b的包集(的包集(a=ba=b)。)。任何集合都是空集的包集。任何集合都是空集的包集。1 1,3=13=1,3 3 结果为结果为 tru
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Pascal 程序设计 集合 类型 精品
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内