Cтраница 1
Подпрограмма общего вида должна быть составлена так, чтобы ее можно было перед употреблением путем незначительной переработки, называемой конкретизацией, преобразовать в любую из объединяемых ею конкретных подпрограмм. [1]
Подпрограмма общего вида имеет большое сходство с подпрограммой-функцией. Наиболее существенные отличия заключаются в том, что, во-первых, имени подпрограммы не присваивается какого-либо значения в подпрограмме и этому имени не соответствует никакая переменная. В связи с этим имя подпрограммы типа не имеет. [2]
Конкретизация подпрограмм общего вида заключается в том, что некоторым величинам, называемым параметрами подпрограммы, придают определенные числовые значения. [3]
В языке ФОРТРАН используются подпрограммы пользователя: оператор-функция, подпрограмма-функция, подпрограмма общего вида. Формальные и фактические параметры для любых типов подпрограмм должны согласовываться по количеству, порядку следования, типу и длине. [4]
В тех случаях, когда необходимо получить несколько выходных результатов, используется подпрограмма общего вида. [5]
Схема алгоритма решения примера представлена на рис. 1.30. Для вывода необходимого символа в заданную позицию строки используем подпрограмму общего вида, в которую следует передавать символ, подлежащий выводу, и номер позиции, где он должен размещаться. В подпрограмме пропускаются все позиции до заданной, так как в них выводится символ и, а затем после цикла в заданную позицию выводится требуемый символ. [6]
В качестве подпрограммы-функции вычисления оформляются, как правило, в тех случаях, когда выходом подпрограммы является одно значение. Подпрограмма общего вида лишена этого ограничения. Она может либо возвращать много результатов в вызывающую программу, либо не возвращать ни одного. [7]
У подпрограммы общего вида список фактических, а следовательно, и формальных параметров может отсутствовать. [8]
Итак, в программе, написанной на АЛГОЛе-60, процедуры, если они имеются, входят в нее на правах описаний старшего или вложенных блоков. В ФОРТРАНе же и в ПЛ / 1 вводится понятие программной единицы - самостоятельной части программы, роль которой могут играть главная программа, подпрограмма-функция и подпрограмма общего вида. При трансляции в ДОС / ЕС каждая программная единица преобразуется в отдельный объектный ( или перемещаемый) модуль ( см. ниже, гл. В ПЛ / 1 оба эти вида подпрограмм называются процедурами или процедурными блоками. [9]
Переменные, указанные в операторах EQUIVALENCE и COMMON, не могут быть формальными параметрами. Этот факт используется для передачи параметров в подпрограмму. В этом случае подпрограмма общего вида может стать подпрограммой без параметров. [10]