Реферат: Шпаргалки по Fortrany
В общем случае для формального параметра - массива могут вычисляться как нижняя,
так и верхняя границы размерности. Общий вид размерности таких массивов:
[нижняя граница] : [верхняя граница]
Нижняя и верхняя границы - целочисленные описательные выражения. Вычисленные
границы массива фиксируются на время выполнения процедуры и не меняются при
изменении значения соответствующего описательного выражения.
При работе с такими массивами необходимо следить, чтобы размер массива - формального
параметра не превосходил размера ассоциированного с ним массива - фактического параметра.
Если фактическим параметром является многомерный массив и соответствующим ему формальным
параметром является массив заданной формы с тем же числом измерений, то для правильного
ассоциирования необходимо указать размерности массива - формального параметра такими же,
Как и у массива - фактического параметра. Исключение может составлять верхняя граница последней
размерности массива, которая может меньше соответствующей границы массива - фактического параметра.
Если в качестве фактического параметра задан элемент массива, т формальный параметр
ассоциируется с элементами массива-родителя начиная с данного элемента и далее по порядку.
Массивы, перенимающие форму
Такие массивы - формальные параметры перенимают форму у соответствующего фактического
параметра. В результате ранг и форма фактического и формального параметров совпадают. При описании
формы формального параметра каждая размерность имеет вид: [нижняя граница] :
где нижняя граница - это целое описательное выражение, которое може! зависеть от данных в процедуре
или других параметров. Если нижняя граница опущена, то ее значение по умолчанию равно единице.
Например» ПРИ вызове
real х(0:3, 0:6, 0:8)
interface
subroutine asub(a)
real a(:, :, :)
end
end interface
call asub(x)
Соответствующий перенимающий форму массив объявляется так: