Иллюстрированный самоучитель по Delphi 7 для начинающих

Объявление массива

Массив – это структура данных, представляющая собой набор переменных одинакового типа, имеющих общее имя. Массивы удобно использовать для хранения однородной по своей природе информации, например, таблиц и списков.


Массив, как и любая переменная программы, перед использованием должен быть объявлен в разделе объявления переменных. В общем виде инструкция объявления массива выглядит следующим образом:

Имя: array [нижний_индекс..верхний_индекс] of тип

Где:

  • имя – имя массива;
  • array – зарезервированное слово языка Delphi, обозначающее, что объявляемое имя является именем массива;
  • нижний_индекс и верхний_индекс – целые константы, определяющие диапазон изменения индекса элементов массива и, неявно, количество элементов (размер) массива;
  • тип – тип элементов массива.

Примеры объявления массивов:

temper: array [1..31] of real;

kо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 тип = (список);

Где список – разделенные запятыми значения элементов массива. Например:

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;
Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.