Основы программирования на C++, PASCAL
Операции над множествами. В Паскале реализованы основные операции теории множеств. Это объединение, пересечение, разность множеств. Во всех таких операциях операнды и результаты есть множественные величины одинакового базового типа.
Объединение множеств. Объединением двух множеств А и В называется множество, состоящее из всех элементов, принадлежащих хотя бы одному из множеств А или В. Знак операции объединения в Паскале +.
На рис. 34, а схематически показан результат объединения двух множеств.
Например:
[1,2,3,4]+[3,4,5,6]→[1,2,3,4,5,6]
Пересечение множеств. Пересечением двух множеств А и В называется множество, состоящее из всех элементов принадлежащих, одновременно множеству А и множеству В (см. рис. 34, б) Знак операции пересечения в Паскале *.
Например:
[1,2,3,4]*[3,4,5,6]→[3,4]
Разность множеств. Разностью двух множеств А и В называется множество, состоящее из элементов множества А, не принадлежащих множеству В (см. рис. 34, в).
Например:
[1,2,3,4]-[3,4,5,6]→[1,2]
[3,4,5,6]-[1,2,3,4]→[5,6]
Очевидно, что операции объединения и пересечения — перестановочны, а разность множеств — не перестановочная операция.
Операции отношения. Множества можно сравнивать между собой, т.е. для них определены операции отношения. Результатом отношения, как известно, является логическая величина true или false. Для множеств применимы все операции отношения, за исключением > и <. В таблице описаны операции отношения над множествами. Предполагается, что множества А и В содержат элементы одного типа.
Вот несколько примеров использования операций отношения. Пусть переменная м описана в программе следующим образом:
Var М: Set Of Byte;
В разделе операторов ей присваивается значение:
М:=[3,4,7,9];
Тогда операции отношения дадут следующие результаты:
М=[4,7,3,3,9] - true,
М<>[7,4,3,9] - false,
[3,4]<=М - true,
[]<=M — true,
M>=[1..10] - false,
M<=[3..9] - true.
Операция вхождения. Это операция, устанавливающая связь между множеством и скалярной величиной, тип которой совпадает с базовым типом множества. Если х — такая скалярная величина, а M — множество, то операция вхождения записывается так:
X In M
Результат — логическая величина true, если значение х входит в множество M, и false — в противном случае. Для описанного выше множества