НОВОСТИ   БИБЛИОТЕКА   ЮМОР   КАРТА САЙТА   ССЫЛКИ   О САЙТЕ  




предыдущая главасодержаниеследующая глава

13.1. Параметры-значения

Если в качестве формального параметра указана переменная, то такой параметр и есть параметр-значение. Примерами таких параметров служат параметры А, В и С в процедуре SQ:


В этом случае фактическим параметром/соответствующим А либо В либо С, может быть любое выражение соответственного типа, в частности, константа.

Например, обратиться к SQ можно так:


Для параметров-значений машина при вызове процедур производит следующие действия: выделяет место в памяти для каждого формального параметра, вычисляет значение фактического параметра и засылает его в ячейку, соответствующую формальному параметру,

Если фактический параметр есть имя переменной, например, R, то значение этой переменной пересылается в соответствующий формальный параметр, например, А. На этом всякая связь между А и R обрывается,

Если даже фактический и формальный параметры одинаково обозначены, в памяти ЭВМ эти параметры занимают разные ячейки. Это полезно знать, чтобы не допустить распространенной среди начинающих программистов ошибки - пытаться передать информацию из процедуры в вызывающую программу через параметр-значение.

Пример.


В T2 происходит засылка числа 2 в ячейку, отведенную для переменной I, затем идет обращение к процедуре Р с фактическим параметром 1=2. При этом значение 2 пересылается в другую ячейку, отведенную для формального параметра I. В этой ячейке после выполнения оператора 1: = 1*2 появляется число 4. Но после возврата из процедуры на оператор WRITELN программа Т2 "знает" только одну переменную I, которая по-прежнему содержит число 2. Поэтому программа напечатает 1=2.

Если формальный параметр есть параметр-значение, то соответствующим фактическим параметром должно быть выражение того же типа, что и формальный параметр.

предыдущая главасодержаниеследующая глава








© Злыгостев А.С., 2001-2019
При использовании материалов сайта активная ссылка обязательна:
http://informaticslib.ru/ 'Библиотека по информатике'
Рейтинг@Mail.ru
Поможем с курсовой, контрольной, дипломной
1500+ квалифицированных специалистов готовы вам помочь