ами
Розглянемо допустимі в середовищі Turbo - Pascal 7.0 операції над множинами, скориставшись наступним описом:
Type MN = set of ('0 '.. '9', 'A' .. 'F');
Var CHIS, CHIS16, LET, RMN: MN;
B: boolean;
X: 'A' .. 'F';
...
Об'єднання множин
S1 + S2
Результат об'єднання - безліч, яке містить елементи, або належать безлічі S 1, або S 2 або того й іншого.
В
CHIS: = ['0 '.. '9'];
LET: = ['A' .. 'F'];
RMN: = CHIS + LET; {['0 '.. '9', 'A' .. 'F']} i>
Перетин множин
S1 * S2
Результуюче безліч містить елементи, які належать як множині S 1 , так і безлічі S 2 .
CHIS : = ['0 '.. '9'];
CHIS 16: = ['0 '.. '9', ' < i> A '..' F '];
RMN: = CHIS * CHIS16; {['0 '.. '9']}
LET: = ['A' .. 'F'];
RMN: = CHIS * LET; {[] - пусте безліч }
В
Різниця множин
S1-S2
Результуюче безліч містить ті елементи безлічі S 1 , які не належать S 2 .
В
CHIS : = ['0 '.. '9'];
CHIS 16: = ['0 '.. '9', ' < i> A '..' F '];
RMN: = CHIS16 - CHIS; {['A' .. 'F']}
В
Рівність - нерівність множин
S1 = S2
S1 <> S2
Множини S 1 = S 2 тоді і тільки тоді, коли всі елементи множини S 1 дорівнюють елементам множини S 2 , інакше S < b> 1 <> S 2 . Результат операції Boolean .
CHIS: = ['0 '.. '9'];
LET: = ['A' .. 'F'];
B: = CHIS = LET; {False}
B: = CHIS <> LET; {True}
В
Включення безлічі
S1 <= S2
Результат операції True , коли всі елементи безлічі S 1 входять в безліч S 2, в інших випадках результат операції False .
В
CHIS: = ['0 '.. '9'];
LET: = ['A' .. 'F'];
CHIS16: = ['0 '.. '9', 'A' .. 'B'];
B: = CHIS <= CHIS16; {True}
B: = LET <= CHIS; {False}
Перевірка приналежності
X in S1
Результат операції True , якщо Х належить безлічі S 1 і False в іншому випадку . Тип Х повинен збігатися з типом елементів множини S 1.
X: = 'C';
CHIS: = ['0 '.. '9'];
LET: = ['A' .. 'F'];
B: = X in CHIS; {False}
B: = X in LET; {True}
Приклад:
{Дан текст з великих латинських літер, за яким слідує крапка. Надрукувати перші входження букв в текст, зберігаючи порядок}
В
Var LET : set of ' A '..' Z ';
C : char ; ...