Учебное пособие: Обработка массивов данных в среде Turbo Pascal
C: ARRAY [ 1.. N, BOOLEAN ] OF -20.. 20;
D1, D2: A;
F1, F2: B;
Типизированная константа-матрица объявляется в программе следующим образом:
CONST
M: ARRAY [1.. 3, 1.. 2] OF INTEGER = ((1, 2), (3, 4), (5, 6));
Массивы могут быть не только одномерными или двухмерными, но и 3-х, 4-х и n-мерными. В этом случае они описываются в программе следующим образом:
VAR
M: ARRAY [ 1.. 10, -10.. 9, CHAR ] OF BYTE;
N: ARRAY [ 1.. 5, 1.. 10, 1.. 15, 1.. 20 ] OFSHORTINT;
В памяти компьютера элементы размещаются друг за другом так, что при переходе от младших адресов к старшим наиболее быстро изменяется самый правый индекс массива. Например, для матрицы 2х2: A[1,1], A[1,2], A[2,1], A[2,2].
2.4 Действия над элементами массивов
Для обеспечения эффективной работы с отдельными элементами необходимо прежде всего обеспечить правильный доступ к элементам массива. Доступ (обращение) к отдельным элементам массива осуществляется путем указания имени переменной массива, за которым в квадратных скобках помещается значение индекса (порядкового номера) элемента.
Примеры задания индекса:
M [5] - непосредственно числом;
M [x] - косвенно через переменную x;
M [y+5] - косвенно через выражение;
M [Succ(i)] - косвенно через значение функции.
Всем элементам одного массива можно присвоить значения элементов другого массива с помощью одного оператора присваивания, в том случае, когда массивы имеют идентичный тип. Так, если заданы следующие массивы:
VAR
X, Y: ARRAY [1.. 10] OFINTEGER;
Z: ARRAY[1.. 10] OFINTEGER;
то допустим следующий оператор присваивания:
X: = Y;
но недопустим оператор
Z: = X;
так как массивы X и Z не идентичных типов.
В Паскале над массивами не определены операции отношения. Сравнивать массивы можно только поэлементно. К отдельным элементам массива можно применять стандартные процедуры и функции, предусмотренные в языке. Перечень допустимых стандартных подпрограмм зависит от типа элементов массива.
2.5 Ввод и вывод элементов массива