Работа с массивами в Delphi

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

В общем виде инструкция объявления одномерного массива выглядит следующим образом:

Имя: 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 – целые константы, определяющие диапазон изменения индексов и, следовательно, число элементов массива;
Тип – тип элементов массива.
Пример:
itog: array [1..12, 1..6] of integer

При объявлении массива удобно использовать именованные константы. Именованная константа объявляется в разделе объявления констант, который обычно располагают перед разделом объявления переменных. Начинается раздел объявления констант словом const. В инструкции объявления именованной константы указывают имя константы и ее значение, которое отделяется от имени символом «равно». После объявления именованной константы ее можно использовать в программе как обычную числовую или символьную константу. Ниже в качестве примера приведено объявление массива названий команд-участниц чемпионата по футболу, в котором используются именованные константы.

Пример:
const
NT = 18;
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]=(‘Зенит’,’Динамо’,’Спартак’,’Ротор’,’СКА’);

Операции с массивами

Типичными операциями при работе с массивами являются:
– вывод массива;
– ввод массива;
– поиск максимального или минимального элемента массива;
– поиск заданного элемента массива;
– сортировка массива.

Вывод массива

Под выводом массива понимается вывод на экран монитора (в диалоговое окно) значений элементов массива.

Если в программе необходимо вывести значения всех элементов массива, то для этого удобно использовать инструкцию for.

Пример:
const
NT = 5;
var
team: array[1..NT] of string[10] =(‘Зенит’,’Динамо’,’Ротор’,’Спартак’,’СКА’
procedure TForml.ButtonlClick(Sender: TObject);
var
st:string;
i:integer;
begin
for i:=l to NT do
st := st + IntToStr(i)+ ‘ ‘+ team[i] + #13;
end;
Ввод (вывод) массива
Под вводом массива понимается процесс получения от пользователя (или из файла) во время работы программы значений элементов массива.

Данны в массив можно вводить (выводить) с помощью компонентов StringGrid и Memo (вкладка Additional).

Добавить комментарий