DIMENSION A(10)
K=4
M=3
A(1)=2.5
A(3)=1.7E-7
A(K+M)=D+A(1)
A(4)=A(M)+A(K+1)Эта строка аналогична выражению: А(4)=А(3)+А(4+1)
переменная арифметическое
целого типа выражение
Примечание:
Желательно избегать арифметических действий с индексами массива, особенно при циклическом вычислении, т.к. это очень замедляет выполнение программы.
Двухмерные массивы в памяти ЭВМ располагаются по столбцам:
Пример заполнения ячейки двухмерного массива:
С(1,2)=1.8
При этом в строку номер 1 и столбец номер 2 массива С занесётся число 1.8.
При выполнении программы транслятор анализирует, не превышает ли значение вызываемого индекса массива его предельного значения, описанного в операторе DIMENSION (т.е. проверяется случай, когда вызываемый индекс массива не существует – массив имеет меньшие размеры).
Так при записи С(К,М)=С(1,1)+С(1,2), которая соответствует записи:
С(4,3)=С(1,1)+С(1,2) значение С(4,3) не соответствует. При попытке выполнить такую операцию будет выдана ошибка.
При работе с двухмерными массивами есть одна особенность, которую рассмотрим на примере:
READ(5,*)К
С(К,3)=7
Пока переменную К будем задавать равную от 1 до 3, программа будет выполняться корректно. Но, если К присвоить значение 4 и больше, то ЭВМ будет не в состоянии отследить, что пределы размерности массива нарушены. Обращение будет идти к совершенно иному, и даже случайному элементу памяти ЭВМ.
Массивы можно описать ещё и с помощью операторов описания REAL и INTEGER:
Дата добавления: 2015-06-10; просмотров: 784;