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

Рейтинг:   / 0
ПлохоОтлично 

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

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

procedure sq((a, b, c: real; var x1, x2: real);

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

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

sq((25./3 + 2) * 2, -1.5, (8.2 – 3.1) / 3, x1, x2);

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

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

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

Пример.

var

    i: integer;

 procedure p(i: integer);

    begin

        i := i * 2

    end;

 begin

    i := 2;

    p(i);

    writeln(' i = ', i);

 readln

end.

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

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

Критические заметки

Здесь представлены комментарии некоторых спортивных состязаний, а также оценка вопросов, сыгранных в телевизионных клубах "Что? Где? Когда?" России и Беларуси.  Особое внимание будет уделено игровым видам спорта (футбол, хоккей). Найдут для себя полезное и любители шахмат и шахматной композиции. 

Читать

Лучшие книги

Здесь представлены лучшие, на наш взгляд, книги по математике, физике, астрономии, информатике, и некоторым другим предметам. Также предлагается подборка научно-популярной литературы и книг по интеллектуальным играм. Здесь указаны ссылки, по которым Вы можете их скачать.

Перейти к книгам