
Тема 26
Множина - це набір однотипних елементів. Множинний тип будується на основі деякого базового типу даних. Базовий тип повинен бути одним із порядкових типів. Він не повинен мати більше, ніж 256 можливих значень. Значення верхньої і нижньої границі базового типу не можуть виходити з діапазону від 0 до 255. У силу цього базовий тип множини не може бути коротким цілим (Shortint), цілим (Integer), довгим цілим (Longint) чи словом (Word). Діапазон значень множинного типу це набір всіх можливих підмножин множини елементів базового типу. Кожне можливе значення множинного типу є підмножиною можливих значень базового типу. Будь-який множинний тип може приймати значення [ ], яке називається порожньою множиною. Опис множинного типу має вигляд:
<множинний тип> = set of < порядковий тип >.
Конструктори множин. Щоб утворити конкретну множину, використовують конструктор множини. Конструктор множини дозволяє сформувати множину, яка містить певний набір елементів базового типу. Множина утворюється шляхом запису виразів або значень базового типу, які записані у квадратних дужках [ ]. Кожний вираз задає значення одного елемента множини. Між виразами чи значеннями ставиться кома. Будь-яка група елементів, описана, як х .. у, оголошує елементами множини всі значення базового типу в діапазоні х .. у. Якщо х більше, ніж у, то діапазон х .. у не описує ніяких елементів і означає порожню множину. Синтаксис конструктора множини: [ <cписок елементів> ].
У конкретному конструкторі множини всі значення виразів повинні належати до базового типу цієї множини. Конструктори множин здебільшого використовуються для швидкого формування множин за допомогою оператора присвоювання.
Операції над множинами.
Операції над множинами, враховуючи їх пріоритет:
перетин множин (позначається знаком * );
об'єднання (позначається знаком + ) та різниця множин ( – );
операція перевірки на приналежність до множини (позначається службовим словом in) та операції порівняння ( =, <>, <=, >= ).
Перетин множин А Ç В – це множина, яка складається із спільних елементів обох множин, позначається С:=А*В. Об'єднанням множин А і В є множина С, що складається з елементів, що належать хоча б одній з множин: А або В. Математичний вираз C=A È B на мові Pascal виглядатиме С:=А+В. Різниця множин А \ В — це множина, що складається з елементів множини А без елементів, що належать до множини В. Позначається С:=А – В. Перераховані операції виконують над множинами і їх результатом є також множина. Решта операцій, визначених над множинами – це логічні операції. Результатом їх є значення true або false, яке визначається істинністю чи ні певного твердження.
Операція перевірки па приналежність до множини (in) мас такий формат: A in S, де А – вираз, S – множина. Результат виразу повинен мати тип, який є базовим по відношенню до множини. Результат цієї операції буде true, якщо вираз має значення, яке належить до множини. Операції порівняння :
Операція |
Вираз |
Результат |
|
= |
рівність множин |
А=В |
True, якщо множини А і В співпадають, еквівалентні. |
<> |
нерівність множин |
А<>В |
True, якщо множини А і В не співпадають, нееквівалентні. |
<= |
входження лівого аргументу в правий |
А<=В |
True, якщо АÍ В, тобто перша множина включена в другу |
>=
|
входження правого аргументу в лівий |
А>=В
|
True, якщо А Ê В, друга множина включається в першу множину. |
Існують дві процедури для роботи з множинами: include (S, I), exclude (S, I).
Процедура include (S, І) включає елемент І у множину S, a exclude (S, І) - виключає елемент І з множини S. Змінним типу множини можна присвоювати значення інших множин або виразів множинного типу. Необхідно тільки, щоб тип змінної і тип значення, що присвоюється, був однаковим. Множинні вирази складаються із звертань до змінних множинного типу, констант і конструкторів, а також з операторів об'єднання, різниці і перетину.
Константи множинного типу. Якщо значення елементів множини відомі наперед, вона може бути оголошена в розділі констант:
<ідентифікатор константи> : < множинний тип> = [ <список елементів> ];
Список елементів може містить елементи базового типу, взяті у квадратні дужки і відокремлені комами. Як і для конструкторів множин, допускається використання діапазонів базового типу. Конструктори множин по вигляду близькі до множинних констант, але елементами їхнього списку можуть бути не тільки константи базового типу, але І довільні вирази цього типу. Множини-константи можуть зустрічатися в тексті програм і без попереднього опису. В цьому випадку в квадратних дужках просто перераховуються елементи цієї множини.
Для виконання практичної роботи №14 рекомендується брати наступні розміри для побудови елементів блок-схеми: а = 20 мм і b = 2*а. Під час побудови блок-схеми потрібно використовувати наступні елементи: Введення-Виведення, Процес, Пуск-Зупинка, Рішення, Лінія потоку, Межа циклу, Міжсторінковий з’єднувач, Внутрішньосторінковий з’єднувач.