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

program Tabsqrt;

Var

i: integer;

procedure Line (n:integer;c:char); {процедура программиста}

Var

i: integer;

Begin

fori:=1tondo write(c);

Writeln;

end;

begin{основная программа}

Writeln(‘Таблица квадратных корней’);

Line (14,’=‘);

Writeln (‘число корень’);

Line (14,’=‘);

fori:=1to5do begin

Writeln (i:5, ’ ‘,Sqrt(i):6:3);

Line (14,’-‘);

end;

end.

 

Ниже приведен результат работы программы:

 

Таблица квадратных корней

==============

число корень

==============

1 1,000

------------------------

2 1,414

------------------------

3 1,732

------------------------

4 2,000

-----------------------

5 2,236

----------------------

Для рисования двойной и одинарной линии использована одна и та же процедура Line, но вызывается она с разными фактическими параметрами. Параметры обеспечивают универсальность процедуры. Процедура Line может рисовать линии любой длинны (разумеется, ограниченные шириной экрана) и из любых символов.

Если в описании процедуры перед именем параметра стоит слово var, то при вызове процедуры на месте соответствующего параметра должна стоять переменная основной программы. Использование константы или выражения вызовет сообщение об ошибке во время компиляции программы.

 


Параметр-переменная и параметр-значение.

Программист имеет дело с параметрами при описании и при использовании процедур и функций. Различают формальные и фактические параметры.

Параметры, определяемые при описании процедуры или функции, называются формальными параметрами.

Параметры, задаваемые при вызове процедуры или функции, называются фактическими параметрами.

В описании формального параметра перед именем параметра может стоять слово var, показывающее, что параметр является параметром-переменной. Отличие параметра-переменной от обычного параметра (т. е. параметра-значения) состоит в том, что инструкции процедуры или функции могут изменить значение переменной, являющейся фактическим параметром. Использование параметров-переменных позволяет использовать процедуры для изменения значений переменных основной программы.

В следующей программе для вычисления площади круга и длинны окружности по значению радиуса используется процедура программиста SqLeOkr.

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

 

program sqring;

Var

{переменные основной процедуры}

r,l,s:real; {радиус, длинна окружности и площадь круга}

{процедура программиста}

procedure SqLeOkr (r:real;var s:real;var l:real);

{r - радиус,s - площадь круга, l - длинна окружности }

Const

pi=3.14159;

Begin

s:=pi*r*r;

l:=2*pi*r;

end;

{основная процедура}

Begin

Writeln (‘Вычисление длинны окружности и площади круга:’);

Write (‘Задайте радиус и нажмите <Enter>’);

Readln (‘r’);

l:=0; s:=0;

SqLeOkr (r,s,l);

{переменные программы – фактические параметры процедуры}

Writeln (‘Радиус окружности:’,r:6:3’);

Writeln (‘Длина: ’, l:6:3, ’ Площадь: ‘, s:7:3);

end.