![]() Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Объявление массива
Массив, как и любая переменная программы, перед использованием должен быть объявлен в разделе объявления переменных. В общем виде инструкция объявления массива выглядит следующим образом: Имя: array [нижний_индекс..верхний_индекс] of тип где: · имя — имя массива; · array — зарезервированное слово языка Delphi, обозначающее, что объявляемое имя является именем массива; · нижний_индекс и верхний_индекс — целые константы, определяющие диапазон изменения индекса элементов массива и, неявно, количество элементов (размер) массива; · тип — тип элементов массива. Примеры объявления массивов: temper: array [1..31] of real; коef: array [0..2] of integer; name: array [1..30] of string [25];
В общем виде инструкция объявления двумерного массива выглядит так: Имя: array [ НижняяГраница1..ВерхняяГраница1, НижняяГраница2..ВерхняяГраница2] of Тип где: · Имя — имя массива; · array — слово языка Delphi, указывающее, что объявляемый элемент данных является массивом; · НижняяГраница1, ВерхняяГраница1, НижпяяГраница2, ВерхняяГраница2 — целые константы, определяющие диапазон изменения индексов и, следовательно, число элементов массива; · Тип — тип элементов массива. Количество элементов двумерного массива можно вычислить по формуле: (ВГ1-НГ1+1) х (ВГ2-НГ2+1): где: ВГ1 и ВГ2 — верхняя граница первого и второго индексов; НГ1 и НГ2 — нижняя граница первого и второго индексов.
При объявлении массива удобно использовать именованные константы. Именованная константа объявляется в разделе объявления констант, который обычно располагают перед разделом объявления переменных. Начинается раздел объявления констант словом const. В инструкции объявления именованной константы указывают имя константы и ее значение, которое отделяется от имени символом " равно". Например, чтобы объявить именованную константу YB, значение которой равно 10, в раздел const надо записать инструкцию: YB=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;
|