Структура программы с процедурой
Program prog1; {Основная программа}
type
var
…..
Procedure NN(параметры); {Заголовок процедуры}
const
type
var
begin
{тело процедуры}
end;
……
Begin {Начало основной программы}
. . . . . . {Тело основной программы}
End. {Конец основной программы}
Пример. Процедура с параметрами-значениями
program DrawLine;
…………….
Procedure GorLine(n:integer;sim:char);
{n,sim формальные параметры}
var
i: integer; {локальная переменная}
bеgin
for i:= 1 to n do write(sim);
end;
…………….
begin
GorLine(25,'+'); {факт.параметры}
end.
Пример. Процедура со смешанными параметрами
Procedure SumXY(x,y:real;var z,q:real);
{x,y-парам.-значения; z,q- парам.-переменные}
begin
z:=x+y;
if z< 0 then q:=-z else q:=z;
end;
……………
begin
SumXY(3,5,h,g);
end.
Пример. Демонстрация применения процедур
Program DemoParam;
Uses Crt;
Var А, В: byte;
K,N, II,I2,J1,J2:integer;
Procedure WW1;
begin
А:=A+4; {изменение глобальной переменной A}
end;
Procedure WW2 (var R,T: integer);
begin
R:=555;Т:=777
end;
Procedure WW3 (R1,R2:integer;var X1,X2:integer);
{R1,R2–принимает, X1,X2-передает}
begin
X1:=R1+R2;
X2:=R1*R2
end;
Begin
A:=9;
writeln(A:5);
WW1;
writeln (A:5);
WW2(K,N); {К,N результаты процедуры WW2}
writeln (K:5,N:5);
I1:=2; I2:=5;
WWЗ(I1,I2,J1,J2); {I1,I2 перед.; J1,J2 прин.XI,Х2}
writeln (J1:5, J2:5)
End.