Система программирования Турбо паскаль 7.0




8.2. Процедуры - часть 2


                              Программа

             Program Primer_1;

             Var

                  a, r1, r2, r3, z: real;

              Procedure ST (x: real; n: integer; var P: real);

                  var

            i: integer;

          begin

            P := 1;

            for i := 1 to n do P := P * x;

          end;

              Begin {начало основной программы}

             writeln(‘Введите число а’);

                   read (a);

        ST(a, 5, r1);

        ST(1/a, 5, r2);

        ST(a, 7, r3);

        Z := (r1 + r2) / (2 * r3);

        writeln(‘Z=’,  Z:6:2);

              End.

В заголовке процедуры с именем ST указаны два входных формальных параметра (x, n) и один выходной (P).

Выполнение программы всегда начинается с операторов основной программы. В данном случае после ввода заданного числа  (

) последовательно вызывается три раза процедура ST. При каждом вызове  происходит соответствующая  замена формальных параметров (x, n) на фактические, и вычисленный  результат через формальный параметр Р присваивается  фактическим переменным r1, r2, r3 соответственно. Далее вычисляется значение Z,   и результат выводится на экран.

Согласование параметров

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

Механизм замены параметров

В списке формальных параметров выделяется два вида параметров: параметры-значения и параметры-переменные. Механизм замены для каждого вида параметров различен.

Параметры-значения играют роль входных

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




Содержание  Назад  Вперед