Язык программирования Pascal. Процедуры и функции. Рекурсия. Васильев В.В - 10 стр.

UptoLike

10
Теоретически возможны шесть способов передачи параметров .
1. Передача входного параметра по значению .
2. Передача входного параметра по ссылке.
3. Передача выходного параметра по значению .
4. Передача выходного параметра по ссылке.
5. Передача входного и выходного параметра по значению .
6. Передача входного и выходного параметра по ссылке.
В Паскале реализованы три из шести возможных способов передачи пара-
метров процедуры /функции.
1. Передача входного параметра по значению . При вызове процедуры /
функции выполняется копирование значений фактических параметров в па-
мять, выделяемую для формальных параметров . Во время работы процеду-
ры /функции изменение значений формальных параметров не влияет на со-
держимое ячеек фактических параметров . При завершении работы процеду-
ры /функции память, отведенная для значений формальных параметров ,
очищается , и значения формальных параметров теряются .
Входные параметры , передаваемые по значению , называются параметра -
ми-значениями. В заголовке процедуры /функции при описании таких па-
раметров перед их идентификаторами дополнительные служебные слова не
ставятся .
Фактические параметры -значения могут быть переменными, константами,
выражениями. Не допустимыми являются файловые типы и их производные.
2. Передача входного параметра по ссылке. При вызове процедуры /
функции выполняется копирование адресов фактических параметров в выде-
ляемую для них память, а также выделяется память для локальных данных.
Во время работы процедуры /функции запрещено изменять значения фор -
мальных параметров . Запрещено также передавать параметры -константы в
качестве фактических параметров другим процедурам / функциям. При за-
вершении работы процедуры /функции память, отведенная для работы про-
цедуры , очищается .
Входные параметры , передаваемые по ссылке, называются параметрами-
константами. В заголовке процедуры /функции при описании параметров -
констант перед их идентификаторами ставится служебное слово const.
Фактические параметры -константы могут быть переменными, константами,
выражениями. Не допустимыми являются файловые типы и их производные.
Параметры -константы обычно используют при передачи больших структур
данных. При этом экономится оперативная память и обеспечивается целост -
ность данных.
3. Передача входного и выходного параметра по ссылке. При вызове
процедуры /функции выполняется копирование адресов фактических параме-
тров в выделяемую для них память, а также выделяется память для локаль -
ных данных. Запрещается использовать в качестве входных параметров кон -
станты и выражения. Во время работы процедуры /функции разрешено изме-