§6 集合与记录类型§6.1 集合类型§6.1.1 集合类型的定义集合是同类型对象的一种汇集,它是指同类型对象汇集在一起构成的数据构造。集合的每一种对象称为集合的元素。集合元素必须是有序简单数据类型,集合元素的类型称为集合的基类型。集合的一般形式为:TYPE <类型标识符> = set of <基类型>;基类型可以是整型、字符型、布尔型、枚举型、子界型等,但不能是实型或构造类型。例如: TYPE letter = set of ‘A’.. ‘Z’;var ch1, ch2 : letter;也可以直接写成: var ch1, ch2 : set of ‘A’.. ‘Z’;在 Pascal 中集合是用一组括在方括号中的元素来表达,元素之间用逗号分隔。如:[A, B , C , D] 是四个枚举量的集合[ 1 .. 20 ] 表达 1 到 20 的所有整数的集合[ ‘0’ ] 是单元素集[ ] 表达空集一种集合类型变量的取值,可以是基类型中所有元素按不一样的组合而构成的子集。例如,上面阐明变量 ch1 的类型是 letter,它可以是下列的组合:[‘A’ .. ‘Z’] 全集[‘A’, ‘B’, ‘Q’] 任一子集[‘A’ .. ‘C’ , ‘X’ ..‘Z’ ][‘A’ ] 单元素集[ ] 空集空集与所有的集合类型都兼容。§6.1.2 集合类型的运算ch1:=[ [‘A’ .. ‘C’]];是合法的集合赋值。对集合除可以进行赋值运算外,还可以进行如下运算:·交(*)运算:两集合之交 S1*S2 为一集合,所得元素由 S1、S2 中相似的元素构成。 如: [ 0..7 ] * [ 0..4 ] = [ 0..4 ]·并(+)运算:两集合之并 S1+S2 为一集合,所得元素由 S1、S2 中所有相似的元素构成。如: [ 0..7 ] + [ 0..4 ] = [ 0..7 ] [ 0 , 1 ] + [ 1 , 4 , 6 ] = [ 0 , 1 , 4 , 6 ]·差(-)运算:两集合之差 S1-S2 为一集合,所得元素由只存在于 S1 而不在 S2 的那些元素构成。如: [ 0..7 ] - [ 0..4 ] = [ 5..7 ]·比较运算: 集合可进行“=”、“>=”、“<=”、“<>”等比较运算: 等于“=”—— S1=S2,若 S1 与 S2 中所有元素均相似,成果为 true,否则为false。 如: [ 0..4 ] = [ 0..4 ] 成果为 true [ 0..7 ] = [ 0..4 ] 成果为 false 不等于“<>”——S1<>S2,S1 与 S2 中至少有一种元素不一样,如: [ 0..7 ] <> [ 0..4 ] 成果为 true [ 0..4 ] <> [ 0..4 ] 成果为 false 包含“>=”——S1>=S2 表达 S...