• К множествам применим ряд операций: объединение, пересечение, вычитание, сравнение.
• Объединение двух множеств содержит по одному элементу из каждого исходного множества.
• Пересечение двух множеств содержит только общие их элементы. Если таких элементов нет, пересечение будет пустым.
• Разность множеств содержит элементы уменьшаемого множества за исключением элементов вычитаемого множества.
• Первое множество является подмножеством второго, если все элементы первого принадлежат второму. И тогда второе множество будет надмножеством первого. Множества совпадают, если содержат одни и те же элементы.
А) Полицейская база данных некоторого государства содержит номера всех автомобилей, сгруппированные в ряд множеств. Три множества составлены по типам автомобилей: легковые, грузовые, автобусы. Шесть множеств образованы по цвету автомобилей: множества белых, черных, желтых, красных, синих и зеленых.
• Пересекается ли множество легковых автомобилей с множеством грузовых? А множество желтых автомобилей с множеством черных?
• Может ли быть непустым пересечение множества желтых автомобилей с множеством автобусов?
• Свидетель дорожно-транспортного происшествия сообщил, что с места преступления скрылся грузовой автомобиль синего цвета. Как вычислить группу подозреваемых автомобилей?
• На улице висит знак: грузовым проезд запрещен. Как определить множество автомобилей, въезд которым разрешен?
Б) Два государства, назовем их A и B, спорят о некой территории, – каждое считает ее своей. Нарисуйте на листочке предполагаемую карту, заштрихуйте спорную область, а затем объясните:
• Как вычислить спорную область государств?
• Как вычислить бесспорную область, включая оба государства?
• Заштрихуйте область, отвечающую формуле G = (A-B) + (B-A).
• Заштрихуйте область, отвечающую формуле G = A+B – A•B. Совпадает ли она с той, что вычислена по предыдущей формуле?
В) Дайте ответы на следующие вопросы.
• Является ли множество ваших одноклассников подмножеством учеников вашей школы?
• Пересекается ли множество ваших друзей с множеством ваших одноклассников?
• Является ли множество ваших друзей подмножеством ваших одноклассников?
Глава 36
Множества в Паскале

Зная силу математических множеств, Никлаус Вирт – «отец» языка Паскаль – ввел в язык тип данных множество и предусмотрел операции с ним.
Элементами множеств здесь могут быть числа, символы и булевы данные – то есть порядковые типы данных размером в один байт. Стало быть, мощность множеств в Паскале не превышает 256.
Множества объявляются конструкцией вида
SET OF <диапазон или тип>
Вот примеры объявления переменных типа множество.
{ объявление множества } { возможные элементы множества }
var SN1 : set of 10..100; { числа от 10 до 100 }
SN2 : set of byte; { числа от 0 до 255 }
SC1 : set of ’a’..’z’; { только малые латинские буквы }
SC2 : set of Char; { все символы }
Поскольку мощность множеств в Паскале не превышает 256, множества SET OF BYTE и SET OF CHAR представляют множества предельной