Безліч– це структурований тип даних, що представляє обмежений, неупорядкований набір різних елементів однакового типу.
Кількість елементів в одній безлічі не повинна перевищувати 256.
У Pascal-і елементи безлічі задаються в квадратних дужках:
['а', 'd', 's', 'р'] чи [12, 10, 6, 17].
Елементи в одній безлічі не можуть повторюватися.
Безліч, що не містить елементів, називається порожньою і позначається так: [ ].
Елементи безлічі не можна вводити і виводити за допомогою процедур Read і Write. Значення безлічей задають в операторі присвоювання, наприклад:
x1 := [‘а', ‘d’, ‘s’, ‘р']; x2 := [ 12,10,6,17]
Для опису безлічі використовується слово Set Of (безліч з…). Опис повинен знаходитися або в розділі Type:
typeім'я типу = set of t;
varім'я безлічі : ім'я типу;
або безпосередньо в розділі Var:
varім'я безлічі : set of t;
де t базовий тип елементів безлічі. В якості базового типу можуть бути стандартні типи Byte і Char, а також перелічувальні та обмежені типи, утворені з них. Інші типи неприпустимі. Це по'язано з обмеженням безлічі в 256 елементів.
Приклад опису.
typea = set of 1..100;
varx1, x2, x3 : a;
тут елементами безлічі x1, x2, x3 можуть бути будь-як цілі числа від 1 до 100, наприклад:
x1 := [1,23,45,17,21,3]; x2 := [1,15,10,33]; x3 := [100];
Опис цих безлічей безпосередньо в розділі Var має вигляд:
varx1,x2,x3 : set of 1..100;
Нижче представлені операції, які можна виконувати над безлічами :
+
*
-
=
<>
<=
>=
in
| об'єднання безлічей;
перетинання безлічей;
вирахування безлічей;
перевірка безлічей на рівність;
перевірка безлічей на нерівність;
перевірка безлічі на включення “міститься в”;
перевірка безлічі на включення “містить”;
перевірка на приналежність елемента безлічі.
|
Розглянемо операції на прикладах. Нехай дані безлічі:
a := [5,8,10,3]; b =: [2,8,3,17];
Об'єднанням безлічей А+Вє нова безліч, кожен елемент якої належить або безлічі А або В, наприклад:
vara,b,c : set of byte;
x: byte;