<тип> of
Варіант 1: (поле1: тип1; ... полеN: тіпN);
End;
Тип поля перемикача обов'язково повинен бути порядковим. У пам'яті під запис з варіантними полями компілятор виділяє стільки вільного місця, скільки необхідно для зберігання запису найдовшим з можливих варіантів. З програми можливий доступ до запису будь-якого варіанту, в не залежності від значення поля-перемикача. p align="justify"> Осередок (Назва вулиці або № кімнати) найбільша за кількістю байтів.
3). Множини.
Множини - набори однотипних, логічно пов'язаних один з одним предмети. Характер зв'язку між ними контролюється тільки програмістом, а не комп'ютером. Максимальна кількість елементів у множині 256 мінімальне 0. p align="justify"> Множини відрізняються від масивів і записів непостійністю своїх елементів. Елементи можуть включатися до безліч і виключатися з нього. Механізм роботи та множинами в Delphi схожий з механізмом роботи в математиці. p align="justify"> Два безлічі вважаються рівними - якщо вони утримують однакові елементи. br/>
A {a, b, c, x}
B {c, x, y}
Перетином - називаються загальні елементи двох множин.
A? B = {c, x} - перетин. p align="justify"> AUB = {a, b, c, x, y} - об'єднання.
C = {} - порожній безліч.
Якщо всі елементи одного і того ж безлічі входять в інше, то говорять, що A входить в B.
Формат запису множин:
Type
<ім'я> = set of <базовий тип>
В якості базового типу можна використовувати будь-який відповідний тип крім integer, int 64 ...
Type = set of a ... z ;, s2, s3: mnozh: = [ a , < span align = "justify"> b , t , x ];: = [ a .. k , x .. z ];
Над множинами визначені наступні операції:
* - перетин; s1 * s2 [ a , b , x ]
- різниця; s1-s2 [ t span> ]
= - перевірка еквівалентності (повертає true, якщо вони еквівалентні);
<> - перевірка не еквівалентності (повертає true, якщо вони еквівалентні);
+ - об'єднання множин;
<= - перевірка входження (повертає true, якщо s1 входить до s2);
[s1 <= s2]
> = - перевірка входження (повертає true, якщо s2 входить до s1);
[s1> = s2]
in - перевірка приналежності (повертає true, якщо зазначений елемент входить до безліч);
<елемент> in <безліч>
Деякі алгоритми для роботи з масивами:
) Заповнення масиву випадковими числами:
Var
a: array of integer;
i: integer;; (a, 10); i = 1 to n-1 do
a [i]: = random (101);;
s: = (k * si-1) mod N,
де k - початкове значення (стартове число).
) Алгоритм пошуку мінімального і максимального елемента масиву:
Var: array of integer;: integer;, max, n: integer;, nmax: integer;: = 10 (a, n); i = 1 to n-1 do
a [i]: = random (101);;
Max: = a [0]; nmax: = 0;
Min: = a [0]; nmin: = 0; i: = 1 to n-1 do begin
if a [i]> max then begin
max: = a [i];
nmax: = i;
End;
if a [i]
min: = a [i];
nmin: = i;
...