Type Month=Array[l..12] Of
Real;
Year=Array [1981..1990] Of Month;
Var H: Year;
Наиболее краткий вариант описания данного массива такой:
Var H: Array[1981..1990,1..12] Of
Real;
Продолжая по аналогии, можно определить трехмерный мас-
сив как одномерный массив, у которого элементами являются
двумерные массивы. Вот пример описания трехмерного массива:
Var A: Array[1..10,1..20,1..30] Of Integer;
Это массив, состоящий из 10-20-30 = 6000 целых чисел и зани-
мающий в памяти 6000-2 = 12000 байт. В Паскале нет ограниче-
ния сверху на размерность массива. Однако в каждой конкрет-
ной реализации Паскаля ограничивается объем памяти, выде-
ляемый под массивы.
В
Турбо Паскале это ограничение составляет
64 килобайта.
По аналогии с математикой одномерные числовые массивы
часто называют векторами, а двумерные
—
матрицами.
В Паскале не допускается употребление динамических масси-
вов,
т.
е.
таких, размер которых определяется в процессе выполне-
ния. Изменение размеров массива происходит через изменение в
тексте программы и повторную компиляцию. Для упрощения та-
ких изменений удобно определять индексные параметры в разде-
ле констант:
Const Imax=10; Jmax=20;
Var Mas: Array[1..Imax,1..Jmax] Of Integer;
Теперь для изменения размеров массива
Mas
и всех операторов
программы, связанных с этими размерами, достаточно отредак-
тировать только одну строку в программе
—
раздел констант.
Действия
над массивом как единым
целым.
Такие действия допу-
стимы лишь в двух случаях:
• присваивание значений одного массива другому;
• операции отношения «равно», «не равно».
В
обоих случаях массивы должны иметь одинаковые типы (тип
индексов и тип элементов).
Пример:
Var P,Q: Array[l..5,1..10] Of
Real;
При выполнении операции присваивания
р.-
=Q
все элемен-
ты массива р станут равны соответствующим элементам масси-
ва Q.
Как уже отмечалось, в многомерных массивах переменная с
индексом может обозначать целый массив. Например, если в таб-
лице н требуется, чтобы данные за 1989 г. были такими же, как за
108