Массив — это
структура данных, представляющая собой набор переменных одинакового
типа, имеющих общее имя. Массивы удобно использовать для хранения
однородной по своей природе информации, например, таблиц и списков.
Массив,
как и любая переменная программы, перед использованием должен быть
объявлен в разделе объявления переменных. В общем виде инструкция
объявления массива выглядит следующим образом:
Имя: 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
надо записать инструкцию:
нв=ю. После объявления именованной константы ее можно использовать в
программе как обычную числовую или символьную константу. Ниже в
качестве примера приведено объявление массива названий команд-участниц
чемпионата по футболу, в котором используются именованные константы.
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 тип = (список);
где список — разделенные запятыми значения элементов массива. Например:
a: 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
a[i]:= 0;