Cтраница 1
Аргументы подпрограмм в Фортране передаются по ссылке. Для каждого аргумента символьного типа, не являющегося функцией, передается аргумент, задающий длину значения. Длины строк являются величинами типа long int, передаваемыми по значению. [1]
Аргументы подпрограмм 1 - 7 должны быть выражены в радианах, у подпрограммы 12 аргумент неотрицательный. У каждой из подпрограмм 14 и 15 аргумент только положительный. Подпрограммы 8 - 11 вычисляют главное значение соответствующих функций. [2]
Аргументы подпрограммы имеют следующий смысл. [3]
Часть аргументов подпрограмм может наследовать распределение от вызывающего модуля при местном распределении остальных аргументов. [4]
В Фортране аргументы подпрограмм могут быть массивами с переменной длиной, что дает возможность написания процедур без явного указания размерностей передаваемых им массивов. В стандартном С эта возможность отсутствует. В Фортране аргументы подпрограмм могут передаваться по ссылке, а это самый быстрый метод. [5]
Затем проверяется знак аргумента подпрограммы - MARK. PHIMIX использует разложение по давлению, аргумент возрастает на единицу. Таким образом, если разложение по давлению в расчете не использовалось или использовалось только один раз, то управление передается оператору с меткой 20, где проверяется возможность использования вириального уравнения в форме разложения по объему. [6]
Затем проверяется знак аргумента подпрограммы - MARK. Все основные программы полагают вначале переменную MARK т - 1; каждый раз, как только подпрограмма PHIMIX использует разложение по давлению, аргумент возрастает на единицу. [7]
Таким образом, если аргумент подпрограммы evatom наделен свойством с индикатором APVAL ( индикаторы FIX и BITS в данном случае следует рассматривать как частные случаи индикатора APVAL), то в качестве значения функции выдается это свойство. Как было сказано в разд. Атом, не имеющий в своем списке свойств индикатора APVAL ( FIX, BITS), рассматривается как переменная. [8]
Как указывалось выше, в качестве аргумента подпрограммы или подпрограммы-функции может использоваться имя другой подпрограммы. Этот оператор позволяет различать имена подпрограмм и имена переменных, перечисленных в качестве фактических аргументов. Оператор EXTERNAL должен быть расположен перед операторами-функциями, если они присутствуют в программе. [9]
В нужном месте рабочей программы после засылки аргументов подпрограммы в соответствующие ячейки осуществляется обращение к стандартной подпрограмме. Обращение состоит из нескольких команд, и вместе с передачей управления начальной команде подпрограммы обращение подготавливает выход из подпрограммы после завершения ее работы. Обращение осуществляется по методу, принятому в библиотеке стандартных подпрограмм. Так, в библиотеках подпрограмм для машины Урал-1 обращение к подпрограмме осуществляется тремя командами. Пусть, например, подпрограмма вычисления функции у / ( х) имеет в рабочей программе начальный адрес А, ячейка выхода из подпрограммы ( иногда ее называют изовой ячейкой) имеет номер В, обращение к подпрограмме осуществляется с ячейки п рабочей программы. [10]
В приведенном примере непосредственно за кодом команды JSR расположены аргументы подпрограммы. Поэтому в регистре R5 хранится не адрес возврата, а адрес первого из аргументов. [11]
Для каждой подпрограммы имеется описание, включающее краткое изложение используемого метода, характеристику аргументов подпрограммы и указания к ее использованию. Обращение к стандартным подпрограммам из библиотеки научных программ осуществляется посредством оператора CALL с указанием имени подпрограммы и списка ее фактических аргументов, который должен быть согласован со списком формальных аргументов, приведенных в описании соответствующей подпрограммы. [12]
За обычным оператором COMMON, таким же как и в подпрограмме HVYFTW, и оператором DIMENSION следует нрисваивание аргументу подпрограммы PHIMIX, MARK значения, равного единице, а переменной TOLD - значения температуры предыдущей точки. [13]
За обычным оператором COMMON, таким же как и в подпрограмме HVYFTW, и оператором DIMENSION следует присваивание аргументу подпрограммы PHIMIX, MARK значения, равного единице, а переменной TOLD - значения температуры предыдущей точки. [14]
Чтобы получить более удобное и более осмысленное представление, напишем подпрограмму, которая редактирует заданное число А типа REAL и в массив IT из 8 слов, являющийся аргументом подпрограммы засылает цепочку из LL литер, представляющих собой отредактированное значение А. На рис. 32 имеется несколько примеров того, что мы хотим получить. [15]