Всему множеству в целом даётся имя, которое объявляется в разделе var или type. Для описания множественного типа используется словосочетание SET OF (множество из …).
TYPE <имя типа> = SET OF <базовый тип>;
VAR <имя множества>: <имя типа>;
Здесь, <имя типа> - правильный идентификатор;
SET OF – зарезервированные слова (множество, из);
<базовый тип> - базовый тип элементов множества, в качестве которого может использоваться любой порядковый тип, кроме WORD, INTEGER, LONGINT.
Пример 13.1.
TYPE m = set of char;
CONST d1: m = [‘0’..’9’];
d2: m = [‘a’..’z’, ’A’..’Z’];
Пример 13.2.
TYPE m = 11..19;
m1 = set of ‘a’..’f’;
VAR a: set of m;
a1: m1;
a2: set of 1..31;
Пример 13.3.
TYPE
DigitChar = set of ‘0’..’9’;
Digit = set of 0..9;
VAR
S1, S2, S3: DigitChar;
S4, S5, S6: Digit;
Begin
…..
S1:= [‘1’, ‘2’, ‘3’];
S2:= [‘3’, ‘2’, ‘1’];
S3:= [‘2’, ‘3’];
S4:= [0..3, 6];
S5:= [4, 5];
S6:= [3..9];
…..
End.
Множество, не содержащее элементов, называется пустым или нуль множеством, и обозначается [].
Например, const M = [];
Здесь, множества S1 и S2 эквивалентны, а множество S3 включено в S2, но не эквивалентно ему.
|
|
Операции над множествами
1. Объединение А и В есть новое множество, состоящее из элементов, принадлежащих множеству А или В, или тому и другому одновременно.
Например,
S4 + S5 содержит [0, 1, 2, 3, 4, 5,6];
S5 + S6 содержит [3, 4, 5, 6, 7, 8, 9];
Объединять можно только множества одного базового типа.
2. Пересечение А * В есть новое множество, состоящее из элементов, принадлежащих и А, и В.
Например,
S4 * S6 содержит [3,6];
S4 * S5 – пустое множество.
3. Разность А – В есть новое множество, состоящее только из тех элементов А, которых нет в В (из А убираются все элементы, которые обнаружены в В).
Например,
S6 – S5 содержит [3, 6, 7, 8, 9];
S4 – S5 содержит [0, 1, 2, 3, 6];