Массивы. Определение, описание типа
Массивом называется структурированный тип данных, состоящий изфиксированного количества элементов одинакового типа. Тип упорядоченных элементов массива называется базовым. Элементами массива могут быть данные любого скалярного типа, а также структурированные данные: строки, массивы,записи. Количество элементов массива фиксируется при его описании. Размерностью массива называется количество элементов массива. Размерность массива ограничена объемом памяти конкретной ЭВМ. Массивы могут быть одномерными, двумерными,..., N-мерными. Примером одномерного массива является линейная таблица, двумерного - матрица (таблица,состоящая из нескольких строк и столбцов). Для выбора отдельного элемента массива необходимо указать его месторасположение в массиве. Для этого достаточно указать идентификатор массива, за которым в квадратных скобках следует индексное выражение. Индексами могут быть выражения любого скалярного типа, кроме вещественного. Для описания массива используется словосочетание ARRAY OF (массив из). Формат:
|
|
TYPE
<имя типа>=ARRAY [тип индекса] OF <тип элементов>;
VAR
<идентификатор>,<идентификатор>,..:<имя типа>;
Массив можно описать и по-другому, без представления типа в разделе описания типов данных;
VAR
<идентификатор>:ARRAY[тип индекса] OF <тип элементов>;
Пример:
TYPE RL=ARRAY[1..15] OF REAL;
T=ARRAY[7..14] OF CHAR;
V=ARRAY[1..5,1..8] OF INTEGER;
VAR M1:RL; M2,M3:T; M4:V;
или
VAR
M1:ARRAY[1..15] OF REAL;
M2,M3:ARRAY[7..14] OF CHAR;
M4:ARRAY[1..5,1..8] OF INTEGER;
В данном примере двумя способами описаны следующие массивы: М1-одномерный массив, содержащий 15 вещественных чисел, пронумерованных от 1 до 15; М2,М3 – одномерные массивы, элементами которых являются литерные величины, имеющие индексы (номера) от 7 до 14; М4 – двумерный массив, содержащий 5 строк и 8 столбцов, элементами которого являются целые числа (всего в массиве 40 элементов). Для описания массива можно использовать и предварительно определенные константы, например:
CONST N1=7;N2=4;N3=12;
VAR MAS:ARRAY[1..N1,1..N2] OF INTEGER;
MAS1,NT:ARRAY[5..N3] OF REAL;