Cтраница 2
Диалоговое окно Update Tasks позволяет вводить значения фактических параметров и связанных с ними параметров расписания для конкретной выбранной работы. [16]
Во втором случае перед началом выполнения подпрограммы-функции значение фактического параметра присваивается соответствующему формальному параметру. После выполнения операторов подпрограммы-функции фактический параметр получает значение соответствующего формального параметра. Замена формальных параметров осуществляется по значению, если формальный параметр является идентификатором простой переменной. [17]
При вычислении значения операторной функции предварительно вычисляется значение фактического параметра, которое используется вместо формального параметра. [18]
Во втором случае перед началом выполнения подпрограммы-функции значение фактического параметра присваивается соответствующему формальному параметру. После выполнения операторов подпрограммы-функции фактический параметр получает значение соответствующего формального параметра. Замена формальных параметров осуществляется по значению, если формальный параметр является идентификатором простой переменной. [19]
Во втором случае перед началом выполнения подпрограммы-функции значение фактического параметра присваивается соответствующему формальному параметру. После выполнения операторов подпрограммы-функции фактический параметр получает значение соответствующего формального параметра. Замена формальных параметров осуществляется по значению, если формальный параметр является идентификатором простои переменной. [20]
Вызываемая программа может содержать команды для изменения значений фактических параметров. [21]
Одним из способов вхождения в подпрограмму со значениями фактических параметров является использование рабочихячеек ЗУ, закрепляемых за подпрограммой. Результаты выполнения подпрограммы заносятся в соответствующие рабочие ячейки подпрограммы. После выхода из подпрограммы результаты выбираются из рабочих ячеек подпрограммы. Такого рода действия чаще всего используются при обращении к стандартным подпрограммам. [22]
Операция КПФП ( КОНЕЦ ПОДПРОГРАММЫ ФАКТИЧЕ СКОГО ПАРАМЕТРА) записывает значение фактического параметра, его имя, класс и тип в рабочие ячейки г - и г - 1, о которые шла речь выше. Кроме того, эта операция выключает специфичный механизм формирования адресов в подпрограмме, включенный операцией НПФП. [23]
Настройка блока, представляющего собой процедуру, может производиться либо по значению фактических параметров, либо по их имени. Для управляющих ЦВМ применяется главным образом настройка по значению, поскольку при этом программа блока не изменяется, но перед обращением к блоку в основной программе должно осуществляться вычисление и перепись значений фактических параметров в стандартные ячейки блока. При настройке по имени в программе блока все формальные параметры заменяются на адреса фактических параметров и программа работает непосредственно с ячейками фактических параметров без пересылок этих величин в стандартные ячейки блока. Настройка блока по имени связана с изменением программы для каждой совокупности фактических параметров и поэтому может применяться только для ЦВМ с памятью команд типа МОЗУ или с развитой системой базовой адресации. [25]
Передача параметров физически состоит в-том, что вызываемой процедуре передаются не сами значения фактических параметров, а адреса, по которым размещены эти значения. Таким образом, перемен -, ной, являющейся формальным параметром вызванной процедуры, при выполнении этой процедуры выделяется не новая область памяти, а та же, которая была уже раньше выделена фактическому параметру в вызЬшающей процедуре. К моменту, когда управление возвращается обратно в вызывающую процедуру, переменные, которые были переданы в качестве фактических параметров, могут иметь другие значения. Эти новые зиачения могут представлять, например, результаты вычислений, выполненных вызванной процедурой. [26]
Теперь при каждом обращении к подпрограмме будем каким-либо образом передавать ей адреса значений фактических параметров, соответствующих формальным параметрам х и п, а также адрес простой переменной, поставленной в соответствие формальному параметру у. Подпрограмма должна быть организована так, чтобы в процессе своего выполнения она сама обеспечивала настройку для работы с заданными ей адресами. [27]
Условное ассемблирование в макроопределениях позволяет также получать наиболее эффективные программы с учетом значений фактических параметров, если эти значения известны заранее, к моменту трансляции. Именно в такой возможности и заключается главное достоинство аппарата макросов. [28]
Вызов фактического параметра по значению осуществляется следующим образом: перед началом выполнения подпрограммы значение фактического параметра присваивается соответствующему формальному параметру. После выполнения подпрограммы фактический параметр получает значение соответствующего формального параметра. [29]
Время, требуемое для вызова процедуры, пропорционально времени, требуемому для вычисления значений фактических параметров и запоминания указателей их значений в стеке. Время возвращения, разумеется, не превосходит этого времени. При подсчете времени, затрачиваемого несколькими рекурсивными процедурами, обычно легче всего оценить вес вызова процедуры, осуществляющей этот вызов. Тогда можно оценить сверху как функцию от размера входа разность времени, затрачиваемого на вызов каждой процедуры, и времени, затрачиваемого теми процедурами, которые она вызывает. Суммируя эти оценки по всем вызовам процедур, получаем верхнюю границу общего затраченного времени. [30]