Теоретический материал (Паскаль)

Процедуры

Структура процедуры имеет следующий вид:

Procedure <имя процедуры>(формальные параметры);
Var
  (локальные переменные)
begin
  . . .
end;

Процедура вызывается по имени:

  <имя процедуры> (фактические параметры);

Значение каждого фактического параметра при вызове процедуры передаётся формальному параметру. Временно управление передаётся процедуре. После завершения работы процедуры управление возвращается в основную программу.

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

Заголовок процедуры может выглядеть так:

  PROCEDURE GG(a, b, c : integer);

а вызываться она может так: GG(3, n, m)

Здесь a, b, c – формальные параметры, а 3, n, m – фактические параметры.

Таким образом, в процедуру передаются значения: a=3, b=n, c=m.

Переменные, описанные в процедуре в разделе описаний переменных после слова Var, являются внутренними переменными процедуры, т.е. промежуточными. Они не являются исходными данными для операций внутри процедуры и не являются результатом её выполнения, а нужны лишь для хранения промежуточной информации.

Данные и результаты описываются в круглых скобках после имени процедуры. Перед описанием переменных-результатов пишут служебное слово var.

Например:

Procedure express(a, b, c : real; var x, y : real);
Var
  z : real;
begin
  z:=a + b + c;
  x:=sqr(z);
  y:=sqrt(z);
end ;

Эту процедуру можно вызвать следующим образом:

express(8.6, 6.9, 9.5, x1, y1);

Входные формальные параметры a, b, c принимают значения соответствующих фактических параметров: a=7.6; b=6.8; c=9.5.

При этих значениях выполняется процедура. Результатом выполнения процедуры являются x, y, которые передают свои значения соответствующим фактическим параметрам x1, y1. Таким образом, в основной программе будем иметь x1=625, y1=5.

Фактическими параметрами могут быть константы, переменные, выражения, массивы. В качестве формальных параметров могут выступать только переменные (константы и выражения недопустимы).