Составим процедуру для вычисления степени целого числа.
Procedure Degree(x,у: Integer;
Var st: Longint);
Var i:Integer; {описательная часть}
Begin {тело процедуры}
st:=1;
For i:=1 To у Do st:=st*x;
End;
Первая строчка описания − это заголовок процедуры, который начинается со словаProcedure. Процедура названа именем Degree. В скобках записан список формальных параметров, то есть, перечислены переменные с указанием их типа. Мы используем три параметра: первый − основание степени, то есть число, которое надо возвести в степень; второй − показатель степени, третий − результат. Первые два формальных параметра − параметры-значения, третий − параметр-переменная, и перед ним указано словоVar. Все они описаны как целые (х и у − переменные типа Integer, a st − типа Longint, так как степенная функция быстро возрастает).
После заголовка процедуры идут разделы описаний. В нашем примере имеется только раздел описания переменных, в котором описывается одна переменная i (счетчик цикла).
Далее идет тело процедуры. Оно начинается служебным словомBegin и заканчивается служебным словом End, после которого стоит точка с запятой (в конце программы после последнегоEnd ставится точка). В теле процедуры вычисляется степень числа х с помощью цикла For.
В программе процедуры и функции описываются после раздела описания переменных программы, но до начала ее основной части, то есть доBegin, начинающего эту часть.
Вся программа для решения нашей задачи может иметь следующий вид:
Program Example_70;
Var a, n: Integer;
s: Longint;
Procedure Degree(x,y: Integer;
Var st: Longint);
Var i:Integer;
Begin
st:=1;
For i:=1 To у Do st:=st*x;
End;
Begin{основная программа}
Writeln('Введите два числа –
основание и показатель степени');
Readln(a,n);
Degree(а,n,s); {обращение к процедуре}
Writeln('Результат ',s);
Readln;
End.
Процедура вызывается как оператор, состоящий из имени процедуры. В круглых скобках записываются фактические параметры. В нашем примере формальные параметры х, у и st принимают значения фактических параметров а, n и s соответственно. После завершения работы процедуры переменные а и n сохранят те же значения, что и при вызове, а s получит новое значение.
Пример 2
Даны две целые переменные. Поменять местами их значения.