Реферат: Распределение памяти
точно так же, как любая переменная, локализованная в процедуре.
Таким образом, нет никакого способа изменить в процедуре значение
фактического параметра.
Вызов по результату ( by result )
В языке АЛГОЛ W для любого формального параметра Х,
объявленного параметром RESULT, справедливо следующее:
1. Для параметра Х отводится ячейка в области данных
процедуры. Эта ячейка используется в процедуре как локализованная
ячейка для переменной Х.
2. Как и в случае параметра VALUE, при рызоре при вызове
процедуры вычисляется и передается адрес фактического параметра.
3. Когда выполнение процедуры заканчивается, полученное
значение Х запоминается по адресу, описанному в п.2.
Другими словами, параметр RESULT есть переменная,
локализованная в процедуре, значение которой при выходе
запоминается в соответствующем фактическом параметре (который
должен быть конечно, переменной ). Понятие RESULT было
предназначено для того, чтобы дополнить в АЛГОЛе вызов по имени
( который описан ниже ), так как последний весьма неэффективен и
обладает большими возможностями, чем это необходимо в
большинстве случаев.
Фиктивные аргументы
В развитых языках следующие фактические параметры
обрабатываются по-разному:
1) константы;
2) выражения, которые не являются переменными;
З) переменные, чьи характеристики отличаются от характеристик
указанных для соответствующих формальных параметров.
Для такого фактического параметра в вызывающей процедуре