Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Osnovi_informatiki.doc
Скачиваний:
7
Добавлен:
09.09.2019
Размер:
286.72 Кб
Скачать

28. Множини у мові Паскаль

Множина - впорядкована послідовність значень одного базового типу, які не повторюються. Тип множини описується наступним чином: type < ім’я типу > = set of < тип елементів >; Множиною в мові Pascal називається скінченний набір однотипних даних. Об'єкти, з яких складається множина, називаються її елементами. Число, що дорівнює кількості елементів множини, називається її потужністю. Від масиву множина відрізняється відсутністю індексації її елементів, а від запису — тим, що елементи множини є однотипними і не позначаються ідентифікаторами. Найпростішим прикладом множини є неіменована множина-константа, що записується у квадратних дужках як перелік однотипних елементів. Наприклад, [0.1]-це множина, що складається з двох цілочислових елементів, a['a'..'z'] - множина, що містить усі маленькі літери латинського алфавіту -26 символьних елементів. Максимально допустима потужність множини в мові Pascal становить 256, а мінімально допустима -0. Множина нульової потужності, тобто множина, що не містить жодного елемента, називається порожньою і в математиці позначається символом 0. У мові Pascal порожня множина позначається як порожній перелік, тобто символами [ ].Порядок елементів у переліку є несуттєвим і кожен елемент входить до складу множини один раз. Тому, скажімо, множина [1,2.3,1.2,3] еквівалентна множині [1,2,3], а також множинам [1,3,2], [2,3,1], [2,1,3], [3,1,2] і [3,2,1]. Крім констант-множин у Pascal-програмах можна використовувати й змінні множинного типу даних. Множинний тип — це структурований тип даних, допустимими значеннями якого є деякі множини. Отже, сукупність допустимих значень такого типу даних — це є множина множин, яка не записується в оголошенні типу безпосередньо, але може бути визначена з його оголошення за певним правилом. Це правило легко зрозуміти, коли розглянути синтаксис оголошення множинного типу даних: type <ім'я типу> = set of <базовий тип>; Оголошення множинного типу даних вимагає визначення для нього деякого базового типу. Базовим може бути будь-який перелічуваний тип, крім Integer та Longlnt, а значенням множинного типу може стати довільний набір значень базового типу. Таким чином, допустимими значеннями множинного типу даних є всі можливі підмножини множини значень певного базового типу. Запис на мові Pascal A = B Множини А і В збігаються

A <> B- множини А і В не збігаються A >= B- множина В є підмножиною множини А A <= B -множина А є підмножиною множини В

Важливі окремі випадки операцій об'єднання та різниці множин реалізовано у вигляді бібліотечних процедур Include та Exclude, що здійснюють включення елемента до множини та вилучення його із множини відповідно. Змінні множинного типу не можна використовувати як аргументи процедур введення read або readln і процедур виведення write або writeln. Вводити та виводити множини можна лише поелементно.

Відмітимо, що кількість елементів множини у мові Паскаль не може бути більшою, ніж 256. Це пов’язано з тим, що розробники компіляторів мови Паскаль наклали саме таке обмеження на дане поняття. Не зважаючи на це обмеження, основні властивості множин і операції над ними можна зручно використовувати при розв’язуванні багатьох задач. При виконанні операцій над множинами у Паскалі діють наступні операції:

  • in – належність елементу множині. Звичайно використовують при перевірці умови належності множині, наприклад, нехай задано множину цифр: cifra : set of char;а в самій програмі на початку цю множину конкретно визначено:cifra := [‘0’..‘9’]; Тоді перевірку належності введеного символу ch типу char на предмет належності множині цифр можна оформити як: ... ch := readkey; if ch in cifra then write(‘ Належить цифрам ’);...

  • «+» об’єднання множин. Якщо, наприклад множина А={1,2,3,4,5}, a B={4,5,6,7}, то в результаті виконання операції С=А+В ми отримаємо С={1,2,3,4,5,6,7}.

  • «-» різниця множин. Якщо, наприклад множина А={1,2,3,4,5}, a B={4,5,6,7}, то в результаті виконання операції С=А–В ми отримаємо С={1,2,3}.

  • «*»– переріз множин. Якщо, наприклад множина А={1,2,3,4,5}, a B={4,5,6,7}, то в результаті виконання операції С=А*В ми отримаємо С={4,5}.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]