Множини
Множина –це не обмежена сукупність даних одного перелічувального типу.
Не обмежена в тому сенсі, що наперед не встановлюється кількість елементів в множині, але розмір сукупності обмежений. Максимальна кількість елементів множини - 256.
Тип визначається:
type
<ім’я типу множини> = set of <базовий тип>;
В якості базового типу може бути тип, кількість елементів якого не перевершує 256 і значення позитивні. Таким типом може бути стандартний тип char, byte. Для інших стандартних типів можна вказувати тільки діапазон в межах 0..255.
Наприклад
Type
Tmn = set of char;
Tnm1 = set of 1..120;
Tmn2 = set of ’d’..’k’;
Var
mn : Tmn;
mn1 : Tmn1;
mn2 : Tmn2;
mn3 : set of 10..200;
Правила використання множин.
1) Множина задається у вигляді списку елементів, взятих у квадратні дужки. Елементи розділяються комами. Наприклад: ['a','o','e','j'], [2,4,7,24,89].
2) Пуста множина задається як квадратні дужки, розташовані поряд: []. Наприклад, задати пусту множину: mn:=[];
3) Елементами множини можуть бути константи, змінні, вирази, діапазони відповідного базового типу. Наприклад, якщо маємо
Var
X:byte;
Можна записати множину [2,17,X,2*X+37,5..25].
4) Множина не має елементів, що повторюються. Тобто, багаторазове вміщення елементу до множини ідентичне його одноразовому вміщенню.
5) Порядок розміщення елементів в множині не має значення. Наприклад, множини [4,8,23] i [8,23,4] будуть однаковими.
Операції над множинами
Для демонстрації прикладів, будемо вважати, що маємо множини S1 і S2 одного типу.
Операція | Запис операції | Дія | Опис результату |
= | S1 = S2 | Перевірка на рівність. | Результат true, якщо множини складаються з однакових елементів, незалежно від їх порядку. |
<> | S1 <> S2 | Перевірка на нерівність | Результат true, якщо множини відрізняються хоча б одним елементом |
<= | S1 <= S2 | Перевірка на підмножину | Результат true, якщо всі елементи множини S1 містяться в множині S2. |
>= | S1 >= S2 | Перевірка на надмножину | Результат true, якщо всі елементи множини S2 містяться в множині S1. |
IN | eл. IN S1 | Перевірка входження елемента в множину | Результат true, якщо вказаний елемент міститься у вказаній множині. Результат операції 5 in [6,9,5] є true. |
+ | S1 + S2 | Об’єднання множин | Результатом буде множина, яка буде містити всі елементи обох множин без повторень. Наприклад, [4,7,9] + [8,4,10,32] = [4,7,9,8,10,32] |
– | S1 – S2 | Різниця множин | Результатом буде множина, яка буде містити ті елементи множини S1, які не входять до множини S2. Наприклад, [5,8,9,3,78] – [4,7,5,3] = [8,9,78] |
* | S1 * S2 | Пересічення множин | Результатом буде множина, яка буде містити ті елементи, які містяться в обох множинах одночасно. Наприклад, [6,8,4,3] * [8,12,4,78] = [8,4] |
Множини не можна вводити і виводити однією дією. Введення і виведення множин виконується поелементно.
До множини не можна додати елемент, але можна скласти дві множини, одна з яких складається з одного елементу. Наприклад, необхідно до множини mn:=[6,7,3]; додати елемент 12. Маємо записати mn:=mn+[12]; Вміст множини mn - [6,7,3б12].
Дата добавления: 2015-08-26; просмотров: 659;