
Тема 10. Структурований тип даних – масив.
Поняття масиву.
Об’явлення масивів у програмі. Звернення до елементів масиву у програмі.
Компонент StringGrid.
Приклади розв’язування задач.
Сортування масиву.
1. Поняття масиву.
Масив можна уявити собі як набір елементів однієї природи, наприклад, набір чисел, набір рядків, набір символів і т.і. Крім того ці елементи мають бути упорядковані, тобто кожний елемент повинен стояти у наборі на певному місці. Для цього елементи масиву нумеруюють. В зв’язку з цим дамо слідуюче означення масива.
Означення: Масив - це структурований (чи складений) тип даних, що складається з фіксованого числа елементів, що мають один і той самий тип.
Елементами масиву можуть бути дані будь-якого типу, включаючи структуровані. Тип даних, до якого відносяться елементи масиву, називається базовим. Кількість елементів масиву фіксується при об’яві й у процесі виконання програми не міняється.
Доступ до конкретного елемента масиву здійснюється по його номері шляхом індексування (тобто занумеровування) елементів масиву. Індекси являють собою вирази будь-якого простого типу, крім дійсного.
Масиви бувають одновимірними і багатовимірними. Одновимірний масив являє собою один рядок елементів. Матриця є типовим прикладом двовимірного масива. Двовимірним такий масив називається тому, що має нумерацію за двома напрямками (вимірами) – по рядках і по стовбчиках. Якщо уявимо собі набір елементів у просторі (наприклад молекулу складної органічної речовини), то такий набір має 3 напрямки нумерації, і його можна вважати тривімірним масивом. Взагалі вимірність масива може бути довільною і визначається кількістю напрямків нумерації.
2. Об’явлення масиву в програмі. Звернення до елементів масиву у програмі.
Об’ява масиву в програмі виконується таким чином:
VAR Ім'я_масиву : ARRAY[п_інд . . к_інд] OF тип_даних;
Ім'я_масиву – довільний ідентифікатор, створений за правилами мови програмування
ARRAY – службове слово, що означає “масив”
[п_інд . . к_інд] – межі нумерації елементів масиву (п_інд – початковий індекс (номер першого елементу), к_інд – кінцевий індекс (номер останнього елементу)), завдяки яким визначається і кількість елементів масиву, тобто розмір масиву
OF – службове слово
тип_даних – назва типу даних елементів масиву
Приклад 1. Виконати об’явлення одномірного масиву, який складається з 5 цілих чисел.
Об’явлення такого масиву матиме вигляд:
VAR N : ARRAY[1..5] OF ІNTEGER;
Приклад 2. Виконати об’явлення одномірного масиву, який являє собою набір 4 рядків.
Об’явлення такого масиву матиме вигляд:
VAR Klass : ARRAY[1..4] OF STRІNG;
Об’явлення двовимірного масиву відрізняється від одновимірного наявністю двох напрямків нумерації елементів замість одного:
VAR Ім'я_масиву : ARRAY[п_інд1 . . к_інд1, п_інд2 . . к_інд2 ] OF тип_даних;
де
п_інд1 . . к_інд1 – нумерація рядків двовимірного масиву,
п_інд2 . . к_інд2 – нумерація стовбців двовимірного масиву.
Приклад 3. Виконати об’явлення двомірного масиву, що являє собою дійсну матрицю порядка 3х5.
Об’явлення такого масиву матиме вигляд:
VAR А : ARRAY[1..3,1..5] OF REAL;
При об’явленні тривімірного масива напрямків нумерації відповідно буде три і т.д.
Для звернення до елемента одновимірного масиву, необхідно записати ім’я масиву і після імені в квадратних дужках записати значення індексу відповідного елемента. Наприклад, щоб звернутися до 4-го елемента масива, розглянутого у прикладі 2, необхідно зробити такий запис: Klass[4].
Для звернення до елемента двовимірного масиву, необхідно записати ім’я масиву і після імені в квадратних дужках через кому записати значення рядка і значення стовбця відповідного елемента. Наприклад, щоб звернутися до елемента матриці, розглянутої у прикладі 3, який розташований у 3-му стобчику 2-го рядка, необхідно зробити такий запис: А[2,3].
Для обробки масивів як правило створюються циклічні структури, найчастіше – цикл з параметром.