Оголошення масиву
План
1 Одновимірні масиви. 1
1.1 Оголошення масиву. 1
1.2 Виведення масиву. 2
1.3 Введення масиву. 3
1.4 Використання компоненту StringGrid. 3
1.5 Використання компоненту Memo. 7
2 Багатовимірні масиви. 9
3 Помилки при використанні масивів. 13
Література. 15
Масив– це структура даних, доступ до елементів якої здійснюється по номеру індексу. Всі елементи масиву мають один тип.
1 Одновимірні масиви
Масив, як і будь-яка змінна програми, перед використанням повинен бути оголошений в розділі оголошення змінних. У загальному вигляді інструкція оголошення масиву виглядає таким чином:
Ім'я: array [нижній індекс. . верхній індекс] of тип
де:
- ім'я - ім'я масиву;
- array - зарезервоване слово мови Delphi, що позначає, що оголошуване ім'я є ім'ям масиву;
- нижній індекс і верхній індекс - цілі константи, що визначають діапазон зміни індексу елементів масиву і, неявно, кількість елементів (розмір) масиву;
- тип - тип елементів масиву.
Приклади оголошення масивів:
temper:array[1..31] of real;
коef:array[0. .2] of integer;
name:array[1..30] of string[25];
При оголошенні масиву зручно використовувати іменовані константи. Іменована константа оголошується в розділі оголошення констант, який звичайно розташовують перед розділом оголошення змінних. Починається розділ оголошення констант словом const. У інструкції оголошення іменованої константи указують ім'я константи і її значення, яке відділяється від імені символом "рівно". Наприклад, щоб оголосити іменовану константу нв, значення якої рівне 10, в розділ const треба записати інструкцію: нв=10. Після оголошення іменованої константи її можна використовувати в програмі як звичайну числову або символьну константу. Нижче як приклад приведено оголошення масиву назв команд-учасниць чемпіонату по футболу, в якому використовуються іменовані константи.
const
NT = 18; // число команд
SN = 25; // гранична довжина назви команди var
team: array[1..NT] of string[SN];
Для того, щоб в програмі використовувати елемент масиву, треба вказати ім'я масиву і номер елементу (індекс), уклавши індекс в квадратні дужки. Як індекс можна використовувати константу або вираз цілого типа, наприклад:
team [ 1] := 'Зеніт';
d := koef[l]*koef[l]-4*koef[2]*koef[1];
ShowMessage(name[n+1]);
temper[i]:= StrToFloat(Edit1.text);
Якщо масив не є локальним, тобто оголошений не в процедурі обробки події, а в розділі змінних модуля, то одночасно з оголошенням масиву можна виконати його ініціалізацію, тобто привласнити початкові значення елементам масиву. Інструкція оголошення масиву з одночасною його ініціалізацією в загальному вигляді виглядає так:
Ім'я :array [нижній індекс. . верхній індекс] of тип = (список);
- де список - розділені комами значення елементів масиву. Наприклад:
а: array[10] of integer = (0,0,0,0,0,0,0,0,0,0);
Team: array[1..5] of String[10]= ('Зенит','Динамо','Спартак','Ротор','СКА');
Зверніть увагу, що кількість елементів списку ініціалізації повинна відповідати розмірності масиву. Якщо це буде не так, то компілятор виведе повідомлення про помилку: Number of elements differs from declaration (кількість елементів не відповідає вказаному в оголошенні).
При спробі ініціалізувати локальний масив компілятор виводить повідомлення про помилку: Cannot initialize local variables (локальна змінна не може ініціалізувати). Локальний масив можна ініціалізувати тільки під час роботи програми, наприклад, так:
for i := 1 to 10 do
а[i]:= 0;