Инициализация глобальных массивов

Локальные и глобальные переменные

Доступ к элементу массива

Объявление одномерного массива

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

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

где:

имя – имя массива;

array – служебное слово языка Object Pascal, обозначающее «массив»;

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

тип – тип элементов массива.

 

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

temper:array[1..31] of real; // массив, содержащий максимум 31 вещественное число

koef:array[0..2] of integer; // массив, содержащий максимум 3 целых числа

name:array[1..30] of string[25]; // массив, содержащий максимум 30 строк длины £25.

 

При объявлении массива удобно использовать именованные константы и типы. Именованная константа объявляется в разделе объявления констант, который обычно располагают перед разделом объявления переменных. Начинается раздел объявления констант словом const. После констант объявляют типы (служебное слово type).

Например, следующие три объявления описывают один и тот же массив А, состоящий не более, чем из 20 целых чисел:

a) const n_max=20;

type vect=array[1..n_max] of integer;

var A:vect;

b) type vect=array[1..20] of integer;

var A:vect;

c) A: array[1..20] of integer;

Для того чтобы в программе использовать элемент массива, надо указать имя массива и номер элемента (индекс), заключив индекс в квадратные скобки. В качестве индекса можно использовать константу или выражение целого типа, например:

name[l] := 'Шахтёр';

d := koef[1]*koef[l]-4*koef[2]*koef[1];

ShowMessage(name[n+1]);

temper[i] := StrToFloat(Editl.text) ;

Если переменная (массив,…) объявлена в процедуре обработ­ки события, то она называется локальной. Локальная переменная известна только внутри данной процедуры. В момент запуска этой процедуры для переменной выделяется память, а в момент завершения работы процедуры память освобождается, и переменная теряет своё значение.

Если переменная объявлена внутри раздела Implementation (т.е. после словаImplementation),то она называетсяглобальнойпеременной данного модуля. Такая переменная известна во всех процедурах данного модуля. Память под эту переменную выделяется в момент запуска модуля и не освобождается до завершения модуля. Если локальная и глобальная переменные имеют одинаковые имена, то более сильным является локальное объявление.

При объявлении глобального массива (в разделе Implementation) одновременно с объявлени­ем массива можно выполнить его инициализацию, т. е. присвоить началь­ные значения элементам массива. Например: