Массивом называется упорядоченная последовательность однотипных переменных, обозначенных одним именем.
Элементы массива являются его компонентами. Все компоненты относятся к одному типу, его называют типом компонент; количество их фиксировано.
Каждый элемент может быть явно обозначен с помощью имени переменной массива, за которым в квадратных скобках следует индекс.
Индекс – это величина, характеризующая положение элемента относительно начала массива; индексом может быть произвольное выражение порядкового типа, заключенное в квадратные скобки.
b[1], b[2], b[10] - элементы массива B;
c[i+1], c[i*5-2] - элементы массива C;
d[2,5], d[1,3] - - элементы массива D;
Массивы бывают одномерными и многомерными. Количество индексов в квадратных скобках определяется размерностью массива ( a[1], b[2,5] );
Размерность массива практически может быть любой.
Каждому массиву, используемому в программе, отводится место в памяти. Но в отличие от простых переменных массиву отводится не одна ячейка, а последовательность расположенных друг за другом ячеек, в каждую из которых записывается значение соответствующего элемента.
Время доступа к любому элементу массива не зависит от значения индекса – это прямой доступ.
Описать массив – это значит задать:
· имя массива
· число элементов
· тип элементов
· тип индексов
Описать массив можно двумя способами: (слайд 4)
1). Тип – массив является типом, определяемым пользователем, его можно определить в разделе описания типов.
Формат записи:
TYPE
<имя типа> = ARRAY [< тип индексов >] OF <тип элементов >;
где:
ARRAY, OF - кодовые слова (массив …из);
<имя типа> : правильный идентификатор;
<тип индексов> : список из одного или нескольких индексных типов, разделенный запятыми;
<тип элементов>: любой тип ТР;
[ ] – квадратные скобки, обрамляющие список индексов, определяют требования синтаксиса языка.
Вместо квадратных скобок [ ] можно использовать круглые скобки с точками (. .);
Индекс может быть любого порядкового типа, кроме Longint. Обычно в качестве индексного типа используют тип-диапазон, в котором задаются границы изменения индексов. Очевидно, что нижняя граница не может превосходить верхнюю. Введя тип-массив, можно затем задать переменные или типизированные константы этого типа. ПРИМЕРЫ
1. Тип-массив определяется в разделе описания типов.
1.1 Описание одномерных массивов .
TYPE
mass = Array[1..5] of integer;
M1= array[1..10] of real;
M2 = array[1..3] of char;
M3 = array[1..5] of byte;
Var
a1, b1,c1 : mass;
a2 : M1;
b2 : M2; c2 : M3;
Размерность реальных массивов не должна превышать верхней границы, указанной в описании типа.
1.2 Описание двумерных массивов.
TYPE
Atype = Array[1..5,1..3] of integer;
Btype = array[1..4,1..4] of real;
Var
a3 : Atype; b3 : Btype;
При задании значений константе- массиву компоненты указываются в круглых скобках и разделяются запятыми, причем, если массив многомерный, внешние круглые скобки соответствуют левому индексу, вложенные в них круглые скобки – следующему индексу и т.д. При этом все компоненты массива должны быть заполнены. ( слайд 7)
Пример. Типизированная константа использует тип-массив, объявленный ранее.