Cтраница 1
Выполнение оператора процедуры состоит в следующем. Все формальные параметры заменяются соответствующими фактическими. После этого создается динамический экземпляр блока процедуры, который и выполняется. [1]
Выполнение оператора процедуры производится путем обращения к модулю-подпрограмме, имя которого указано в операторе. Связь между заданными в операторе процедуры фактическими параметрами и формальными параметрами модуля-подпрограммы устанавливается по правилам, аналогичным соответствующим правилам в Алголе. Характер вызова фактических параметров ( значением или по имени) определяется самим фактическим параметром. Если фактический параметр является любым выражением ( не состоящим только из одной переменной), то он вызывается значением, в остальных случаях - по имени. [2]
Выполнение оператора процедуры состоит в присваивании всем формальным параметрам значений соответствующих фактических параметров или замене формальных параметров фактическими и последующего выполнения процедуры. [3]
Теперь при очередном выполнении оператора процедуры сработает оператор присваивания SM: 1; и рекурсивные обращения прекратятся. [4]
Из третьего правила выполнения оператора процедуры следует, что после выполнения тела будет выполняться оператор, следующий за оператором процедуры. [5]
Список значений изменяет правила выполнения оператора процедуры. В этом случае процедура как бы охватывается внешним блоком, в котором описываются идентификаторы формальных параметров, включенные в список значений, и происходит присваивание им значений фактических параметров. Такое присваивание производится однажды перед входом в описание процедуры. [6]
При модификации тела процедуры для выполнения оператора процедуры транслятор руководствуется следующими правилами. [7]
Ключом к пониманию рекурсии является правило выполнения оператора процедуры, состоящее в замене формальных параметров в теле процедуры на фактические и в подстановке преобразованного таким образом тела на место оператора процедуры. [8]
Семантика описания и оператора процедуры задается следующими правилами выполнения оператора процедуры. [9]
Рассмотрим в общих чертах действия, происходящие в программе при выполнении оператора процедуры. Отдельные подробности опустим и уточним ниже, когда ознакомимся с общей схемой использования процедуры в программе. [10]
Для процедур без параметров остаются в силе все пра вила модификации тела процедуры и выполнения оператора процедуры, относящиеся к локализованным и глобальным объектам. [11]
В процедуре с помощью операторов бейсикоподобного алгоритмического языка задается алгоритм вычисления значений выходных переменных, при этом порядок выполнения операторов процедуры детерминирован. [12]
Объявление формального параметра в описании процедуры значением позволяет фактический параметр, соответствующий этому формальному, вычислять только один раз до выполнения оператора процедуры. [13]
Если в этом примере М М1, М2 - метки, а X и Р - переменные, тогда каждому выполнению операторов процедуры PR IM2, помеченных этими метками, будет предшествовать печать метки, и после каждого изменения значения любой из указанных переменных будет напечатано ее новое значение в формате вывода, управляемого данными. [14]
Во-вторых, если фактический параметр является сложным выражением, значение которого не зависит от переменных, изменяющихся в содержании процедуры, но вычисляется многократно, то время выполнения оператора процедуры увеличивается. Для таких параметров целесообразнее заранее вычислять значения и передавать их в процедуру, поскольку для выполнения операторов описания процедуры важно иметь численное значение параметра. [15]