Паскаль в примерах. Иринчеев А.А - 59 стр.

UptoLike

59
Имена, объявленные в разделе описания основной программы, действуют в разделе
операторов основной программы и в любой подпрограмме (процедуре или функции). Эти
имена глобальные. Имена, объявленные в подпрограмме, действуют только в подпрограмме
и в любой объявленной в ней процедуре и функции. Это имена локальные. Они недоступны
для операторов основной программы.
Формальные параметры представляют собой список переменных с указанием их типа.
Для выполнения выходных параметров перед ним ставится слово VAR.
В общем случае - процедура содержит один или несколько входных и выходных пара-
метров, в том числе один и, в частности, ни одного.
Вызов процедуры в основной программе имеет следующую форму записи:
имя процедуры (фактический параметр);
Рассмотрим ряд практических примеров представления программ с процедурой (при-
меры и трассировка представлены Кривошеиным М.Ю.).
Параметры передаются по значению
1 Program pro1;
2 Var a,b,c:integer;
3 Procedure
pr(x,y:integer);
4 Var c:integer;
5 Begin
6 x:=x+2;
7 y:=y-3;
8 c:=(x+y) DIV 2;
9 end;
10 BEGIN
11 readln(a,b);
12 c:=a+b;
13 pr(a,b);
14 writeln(a,’ ‘,b,’ ‘,c);
15 END.
Примечание: нумерация программ представлена для удобства построения таблицы трасси-
ровки.
Таблица трассировки
Ход выполнения a b c
10 Вход в pro1 ? ? ?
11 2 3
12 5
13 Вызов pr x y c
5 Вход pr 2 3
6 4
7 0
8 2
9 Выход из pr
     Имена, объявленные в разделе описания основной программы, действуют в разделе
операторов основной программы и в любой подпрограмме (процедуре или функции). Эти
имена глобальные. Имена, объявленные в подпрограмме, действуют только в подпрограмме
и в любой объявленной в ней процедуре и функции. Это имена локальные. Они недоступны
для операторов основной программы.
    Формальные параметры представляют собой список переменных с указанием их типа.
Для выполнения выходных параметров перед ним ставится слово VAR.
    В общем случае - процедура содержит один или несколько входных и выходных пара-
метров, в том числе один и, в частности, ни одного.
Вызов процедуры в основной программе имеет следующую форму записи:
        имя процедуры (фактический параметр);
     Рассмотрим ряд практических примеров представления программ с процедурой (при-
меры и трассировка представлены Кривошеиным М.Ю.).


                           Параметры передаются по значению

  1 Program pro1;
  2 Var a,b,c:integer;
  3 Procedure pr(x,y:integer);
  4 Var c:integer;
  5 Begin
  6     x:=x+2;
  7     y:=y-3;
  8     c:=(x+y) DIV 2;
  9 end;
  10 BEGIN
  11 readln(a,b);
  12 c:=a+b;
  13 pr(a,b);
  14 writeln(a,’ ‘,b,’ ‘,c);
  15 END.

Примечание: нумерация программ представлена для удобства построения таблицы трасси-
ровки.

                                     Таблица трассировки

  №       Ход выполнения         a      b    c
  10 Вход в pro1                 ?      ?    ?
  11                             2      3
  12                                         5
  13 Вызов pr                                    x    y    c
  5    Вход pr                                   2    3
  6                                              4
  7                                                   0
  8                                                        2
  9    Выход из pr


                                                                                      59