Протокол исполнения
Пример 0‑6 (Pascal) Program pr6; procedure my_c_variable (c: integer; var b, e: integer); var a: integer; begin a:=19; b:=c+27; e:=b+a; end; var a, x, y, z: integer; begin writeln(‘Начало исполняемой части.’) a:=5; x:=6; y:=7; my_c_variable (12, x, z); writeln(‘a =’, a, ‘x =’, x, ‘y = ’, y, ‘z = ’,z); end. Результатом работы данной программы будет сообщение и значение выражения на экране монитора: Начало исполняемой части. a = 5 x = 39 y=7 z=58 Параметры, описанные в заголовке процедуры, называются формальными параметрами, параметры, которые указываются при вызове процедуры, называются фактическими. Количество и порядок формальных и фактических параметров, как правило, должны совпадать, а имена фактических параметров могут не совпадать с именами формальных параметров. Способ передачи параметров-аргументов называется «по значению». При этом способе передачи параметров вместо имен формальных параметров при вызове процедуры могут использоваться имена фактических параметров или выражения, формирующие значения соответствующего типа. Значения параметров этого типа «живут» только в процессе выполнения процедуры, в основную программу эти значения не передаются. Способ передачи параметров-результатов называется передачей параметров по имени или по ссылке (параметры-переменные). Значения этих параметров должны сохраниться после завершения выполнения процедуры, а для этого необходимо в памяти отвести специальное место, которое в программе обозначается именем переменной. Таким образом, при вызове процедуры вместо имени параметра-переменной может быть подставлено только имя фактического параметра.
|