Глава 36 безлічі в паскале
Безлічі, об'єднані знаками операцій і круглими дужками, утворюють
SN2: = (SN1 + [0..15]) * SN2;
Вирази, складені з множин, дуже схожі на вираження з чисел, але обчислюються за іншими правилами. Це оманливе схожість може спровокувати помилку - змішання в одному вираженні чисел і множин. Припустимо, ви хочете додати до безлічі число, що міститься в змінної K. Наступне вираз буде неправильним:
Правильно буде так:
Зрозуміло, за помилками такого роду доглядає компілятор, перевірте його реакцію на практиці.
порівняння множин
Безлічі можна порівнювати між собою, отримуючи в результаті логічне значення - TRUE або FALSE.
Два безлічі рівні. якщо містять одні й ті ж елементи:
Безлічі нерівні. якщо одне з них містить, хоча б один елемент, якого немає в іншому:
if SN1 <> [15, 17, 19] then ...
Перевірка на підмножина ( <= ) отвечает на вопрос: все ли элементы первого множества входят во второе?
Перевіркою на надмножество (=>) з'ясовують, чи всі елементи другого безлічі входять у першу:

Безлічі в Паскалі
Перевірка на входження елемента в безліч (операція IN)
Чи входить певний елемент в безліч? Це можна з'ясувати так:
Зрозуміло, що, якщо число N входить в безліч S. то перетин [N] * S НЕ буде порожнім. Але простіше з'ясувати це операцією IN - вона введена спеціально для цього. Операція дає TRUE. якщо значення перечислимого типу входить в дану безліч, наприклад:
Рішення директорської завдання
Повернемося до тимчасово покинутому директору Семену Семеновичу. Нагадаю стоїть перед нами завдання: є текстовий файл, кожен рядок якого містить список номерів учнів, які перебувають в деякому гуртку:
9 17 12 11 3 5 18
Треба скласти список ніде не значаться нехлюїв.
Чи можна сприймати ці списки як безлічі? Ймовірно, так, судіть самі:
∙ кожен список містить номер учня не більше одного разу (помилкові повторні записи все одно відкинуть);
∙ порядок проходження в списку не важливий;
∙ список може бути порожнім (якщо ніхто не записався в цей гурток).
Добре, а чи буде безліччю список всіх учнів школи? Звичайно. Таке безліч буде повним. оскільки містить всі можливі елементи. А раз так, директорську завдання вирішимо через безлічі.
Безліч тих, хто записався хоча б в один гурток, знайдемо об'єднанням окремих множин-гуртків (S1 + S2 + S3). Віднявши це об'єднання з