集合(Set)是由具有某些共同特征的元素构成的一个整体,这些元素必须是有序类型,如,整型、布尔型、字符型、枚举型和子界型。 1.集合类型的定义 集合类型变量定义的语法格式为: type <类型标识符>=set of<基类型> 其中,基类型是指集合中的元素必须是同一有序数据类型。Pascal语言规定集合的元素个数最多不得超过256个;因此基类型的序数值必须在O~255之间,例如: type Name=set of char; Boolset=set of boolean; Weekday=(Sun,Mon,Tue,Wed,Thu,Fri,Sat); Week:set of weekday; 2.集合变量的定义 ’ 集合类型定义的语法格式为: (1)已定义集合类型 var<变量名>:<集合类型标识符>; (2)与类型定义结合在一起 . var<变量名>:set of<基类型>; 傻f如: var si:set oi-O..25 5; sn:Name; si是整数类型的集合变量,sn是Name集合类型的变量。 3.集合变量的赋值 程序中可以对集合变量赋集合常量值,例如: si:=[1..6,9]; sn:= [’A’..’Z’,’a’..’z’,’O’..’9’]; 集合类型变量的取值范围为包含空集在内的集合的所有子集,但是集合中的元素不能重复出现o 4.集合类型的运算 集合类型能够进行比较运算和集合运算。 集合的比较运算有“<=”、“>=”和“in",分别表示包含于、包含和属于运算。此外还有 “=”、“<>"表示集合相等和集合不等,例如:[1,2]<=[1..3]的结果是true;1 in[O..6]的结果是true。 集合运算有并(+)、交(木)、差(一)运算,它们的结果还是一个集合。例如: 集合A:[1,2,6,7] 集合B:[2,3,5,6,7,9] 集合A+B:[1,2,3,5,6,7,9](由属于集合A或属于集合B的所有元素组成) 集合A术B:[2,6,7](由属于集合A又属于集合B的所有元素组成) 集合A-B:[1](由属于集合A而不属于集合B的所有元素组成)
|