Основні принципи роботи зі статичними структурами даних, реалізованими у мові Delphi
Програми є зрештою конкретні формулювання абстрактних алгоритмів, заснованих на конкретних уявленнях і структурах даних.
Дані є передусім абстракції реальних об'єктів і формулюються переважно як абстрактні структури.
До фундаментальних структур даних, які досить просто реалізуються на сучасних ЕОМ, відносяться запис, масив та безліч. Змінні фундаментальної структури можуть змінювати лише своє значення, зберігаючи форму чи безліч значень, які можуть приймати. Таким чином, розмір пам'яті залишається постійним.
Метою лекції є вивчення основних принципів роботи зі статичними структурами даних, реалізованими у мові Delphi.
Дані, що використовуються в програмуванні, поділяються на дві великі групи:
- дані статичної структури - це дані, взаєморозташування та взаємозв'язки елементів яких залишаються постійними в процесі реалізації програми;
- дані динамічної структури - це дані, внутрішня будова яких формується за яким-небудь законом, але кількість елементів, їх взаєморозташування та взаємозв'язки можуть динамічно змінюватися під час виконання програми згідно із законом формування.
Дані статичної структури можуть бути простими (скалярними) та складовими (агрегативними), які формуються із простих структур за яким-небудь законом (рис. 1.1).

Мал. 1.1. Класифікація даних статичної структури
Простим даним у мовах програмування відповідають стандартні (зумовлені) типи даних, яких, зазвичай, відносять арифметичні (натуральний, цілий, речовий, комплексний),символьний, булевський та вказівний (посилальний) типи. У Delphi включені:
- натуральні типи Byt e, Word, LongWord та Cardinal;
- цілі типи Integer, Shortint, Smallint, Longint, Int64;
- речові типи Real, Real48, Single, Double, Extended, Comp, Currency;
- булевські типи Boolean, ByteBool, WordBool, LongBool;
- символьний тип Char (AnsiChar, WideChar);
- вказівний тип Pointer.
Крім того, Delphi дозволяє програмісту описувати власні скалярні типи шляхом перерахування всіх допустимих для них значень або вказівки піддіапазон значень іншого скалярного типу. Такі можливості підтримуються у вигляді перерахованих та інтервальних типів відповідно.

Мал. 1.2. Класифікація даних динамічної структури
Дані складової структури бувають однорідними, тобто. такими, у яких усі елементи однакового типу, та неоднорідними (комбінованими), які об'єднують у єдине ціле різнотипні елементи. До даних однорідної структури належать масиви, рядки та множини, а до даних неоднорідної (комбінованої) структури - прості записи, варіантні записи, об'єднання та класи (об'єкти).
Масиви можна класифікувати за двома різними ознаками:
- за кількістю розмірностей масиви поділяються на одновимірні масиви (вектори), двомірні (матриці) та багатовимірні (три-, чотиривимірні і т.д.);
- на кшталт елементів масиви поділяються на масиви простих даних, масиви однорідних структур даних, масиви неоднорідних структур даних, і масиви файлів.
Прості та варіантні записи підтримуються окремими синтаксичними конструкціями мови.
Класи (об'єкти) за своєю структурою аналогічні записам, але на відміну відних можуть включати поля як простих і складових типів, а й процедурних типів, що значно підвищує їх потужність як структури даних.
До даних динамічної структури відносять файли, незв'язані та пов'язані динамічні дані. Класифікація даних динамічної структури показано на рис. 1.2.
2. ДАНІ СТАТИЧНОЇ СТРУКТУРИ
2.1. Масиви та робота з ними
Масив - це структура даних, яка є однорідною, фіксованою за розміром і конфігурацією сукупність елементів простої або складової структури, впорядкованих за номерами. Масиви зручно використовуватиме зберігання однорідної за своєю природою інформації, наприклад, таблиць і списків.
Масив визначається ім'ям (ідентифікатором) та кількістю розмірностей (координат), необхідних для вказівки місцезнаходження необхідного елемента масиву. Ім'я масиву є єдиним всім його елементів. Оскільки конфігурація елементів масиву фіксована, то окремому елементу можна звертатися за допомогою одного або декількох індексів, залежно від кількості розмірностей масиву. Як індекси можуть використовуватися константи і змінні порядкових типів (наприклад, цілого типу int e ger).
Допустимими індексними типами є всі порядкові типи, діапазон яких не перевищує 2 Гбайти.
Масив може мати будь-яке число розмірностей, і кожної розмірності масиву вказується число елементів.
Елементами масивів може бути як прості змінні будь-яких типів, і змінні складових типів (масивів, рядків, записів тощо.).
Масиви, що використовуються в програмі, повинні бути обов'язково оголошені в розділі описів програми (модуля).
Ім'я: array [нижній_індекс..верхній_індекс] of тип;
ім'я ім'я масиву;
нижній_індекс і верхній_індекс - цілі константи, що визначають діапазон зміни індексу елементів масиву і, неявно, кількість елементів (розмір) масиву;
тип - тип елементів масиву.
Схематично одно-, дво- та тривимірні масиви можна представити наступним чином: