Cтраница 2
Алгоритм формирования модели не зависит от типов унифицированных блоков. В библиотеке унифицированных блоков содержатся идентификаторы подпрограмм АТБ: блоки упаривания, концентрирования, разбавления, растворения, карбонизации, смешения и разделения потоков. Характер организации библиотеки позволяет заменять либо дополнительно вводить подпрограммы отдельных блоков. Алгоритм расчета схемы предусматривает проверку ограничений, накладываемых на процесс, и корректировку исходных данных в тех случаях, когда ограничения не соблюдаются. [16]
При вызове подпрограмм необходимо указать фактические параметры, которые будут использоваться подпрограммой. Они указываются в скобках после идентификатора подпрограммы. [17]
Явное указание типа подавляет неявное. Если тип в подпрограмме указан явно, то идентификатор подпрограммы необходимо также описать и во всех программных единицах, где выполняется обращение к подпрограмме-функции. [18]
Если формальным параметром подпрограммы-функции является идентификатор подпрограммы-функции, то фактическим параметром может быть идентификатор стандартной функции или идентификатор подпрограммы-функции. Формальному параметру, являющемуся идентификатором подпрограммы, соответствует в качестве фактического параметра идентификатор подпрограммы. [19]
Если формальным параметром подпрограммы-функции является идентификатор подпрограммы-функции, то фактическим параметром может быть идентификатор стандартной функции или идентификатор подпрограммы-функции. Формальному пара-метру, являющемуся идентификатором подпрограммы, соответствует в качестве фактического параметра идентификатор подпрограммы. [20]
В АПЛ отсутствуют какие-либо декларации данных. Идентификаторы явно не описываются, если только они не являются формальными параметрами или локальными идентификаторами подпрограмм; в этом случае описание служит лишь для указания области определения. В течение сеанса работы за терминалом один идентификатор может в разные моменты времени быть именем простой переменной, массива или подпрограммы. Все элементы данных имеют полные дескрипторы, используемые во время выполнения программы. [21]
![]() |
Программа вычисления максимальных компонентов векторов.| Умножение прямоугольных матриц. а - подпрограмма. б - обращение к ней. [22] |
Формальным параметром может быть идентификатор подпрограммы, для которой данная подпрограмма является вызывающей. При обращении к подпрограмме с таким параметром в операторе CALL фигурирует фактический параметр - идентификатор подпрограммы. [23]
Обращение к подпрограммам осуществляется с помощью соответствующих операторов. Каждая подпрограмма имеет имя ( идентификатор) и список формальных параметров. Идентификаторы подпрограмм отображают этап проектирования, вид проектируемого механизма и его структурные особенности, параметры синтеза и целевые функции. [24]
Формальному параметру, являющемуся идентификатором массива, соответствует фактический параметр в виде элемента массива или идентификатора массива. Если формальным параметром подпрограммы-функ -, ции является идентификатор подпрограммы-функции, то фактическим параметром может быть идентификатор стандартной функции или идентификатор подпрограммы-функции. Формальному параметру, являющемуся идентификатором подпрограммы, соответствует в качестве фактического параметра идентификатор подпрограммы. [25]
Формальному параметру, являющемуся идентификатором массива, соответствует фактический параметр в виде элемента массива или идентификатора массива. Если формальным параметром подпрограммы-функ -, ции является идентификатор подпрограммы-функции, то фактическим параметром может быть идентификатор стандартной функции или идентификатор подпрограммы-функции. Формальному параметру, являющемуся идентификатором подпрограммы, соответствует в качестве фактического параметра идентификатор подпрограммы. [26]
Подпрограмма ( называемая также подпрограммой типа SUBROUTINE или подпрограммой-процедурой) является самостоятельной автономной программной единицей и имеет большое сходство с подпрограммой-функцией. Однако подпрограмма обладает рядом особых свойств, расширяющих возможности ее использования при программировании. Наиболее важное различие между подпрограммой и подпрограммой-функцией состоит в том, что с идентификатором подпрограммы не связывается никакое значение и обращение к подпрограмме осуществляется специальным оператором обращения, называемым оператором вызова подпрограммы. [27]
Подпрограмма на языке фортран ( называемая также подпрограммой типа SUBROUTINE или подпрограммой-процедурой) является самостоятельной автономной программной единицей и имеет большое сходство с подпрограммой-функцией. Однако подпрограмма обладает рядом особых свойств, расширяющих возможности ее использования при программировании. Наиболее важное различие между подпрограммой и подпрограммой-функцией состоит в том, что с идентификатором подпрограммы не связывается никакое значение и обращение к подпрограмме осуществляется специальным оператором обращения, называемым оператором вызова подпрограммы. [28]
Максимально допустимое количество исходных параметров в подпрограмме типового изображения установлено в размере 64 чисел. Каждой подпрограмме, включаемой в библиотеку типовых изображений, присваивается идентификатор - десятичный номер. Все подпрограммы последовательно записываются на магнитной ленте ЭЦВМ. Библиотека, кроме подпрограмм, содержит также каталог, в котором указаны идентификаторы подпрограмм и параметры их расположения на магнитной ленте. Если подпрограмма программировалась на алгоритмическом языке, на магнитной ленте записывается рабочая программа, полученная после трансляции языковой программы. Это позволяет избежать повторных трансляций при формировании конкретных чертежей и, следовательно, во много раз ускорить подготовку информации для вычерчивания. [29]
Одной из проблем, связанных с использованием пары команд для перехода с модуля на программу измерений, является вопрос: где находится невыполняемая команда, содержащая идентификатор модуля. Можно было бы предположить, что, если команда перехода находится в ячейке альфа, идентификатор модуля расположен в ячейке альфа плюс один. К сожалению, для многих входов в подпрограммы принято такое соглашение, что вход в подпрограмму есть ячейка альфа, а параметры, передаваемые подпрограмме другой программой, заносятся в ячейки от альфа плюс один до альфа плюс N. В этом случае могут возникнуть трудности при определении ячейки, в которой находится идентификатор модуля. Конечно, если бы было принято соглашение, что для всех подпрограмм точкой входа является ячейка альфа, в ячейке альфа плюс один находится идентификатор подпрограммы и все параметры подпрограммы следуют за этой ячейкой, тогда программам измерений было бы гораздо проще идентифицировать модули. [30]