Процедуры и функции

Процедуры


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

Процедура имеет ту же структуру, что и программа, за исключением заголовка, являющегося обязательной частью процедуры:

Procedure <имя процедуры> (<список формальных параметров>);
   <раздел описаний>
begin
<тело процедуры>
end;

В программе все переменные делятся на глобальные и локальные.
Глобальные переменные– это переменные, объявленные в описании основной части программы и действующие в любой ее части.
Локальные переменные – те, которые объявлены в подпрограмме (процедуре или функции) и действующие лишь в ней.

Пример 1. Рисунок «Елка».

program picture;
uses crt;
var k: integer;
procedure treug;
begin
writeln(' *');
writeln(' ***');
writeln('*****');
end;
BEGIN
clrscr;
for k:=1 to 3 do
treug;
readkey;
END.

Передача данных из программы в процедуру и наоборот может быть организована двумя способами:
  1. через глобальные переменные;
  2. через аргументы процедуры (формальные параметры).

Вызов процедуры в теле программы:

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

Результат выполнения процедуры – это одно или несколько значений, которые передаются в основную программу как значение ее параметров. При вызове процедуры ее формальные параметры заменяются фактическими в порядке их следования.
Фактические параметры – это переменные, которые передаются процедуре при обращении к ней.
Формальные параметры – это переменные фиктивно присутствующие в процедуре и определяющие тип и место подстановки фактических параметров, над которыми производятся действия.

Число и тип формальных и фактический параметров должны совпадать с точностью до их следования.

Описание формальных параметров

Пример 2. Четырехугольник задан четырьмя своими сторонами a, b, c, d, и диагональю f. С помощью процедуры вычисления площади треугольника по трем сторонам, вычислить площадь заданного четырехугольника.

Program pl;
Uses crt;
Var a, b, c, d, f, s1, s2, s: real;
Procedure treug(x, y, z: real; var v: real);
Var p: real;
Begin
P:=(x + y + z)/2;
V:=sqrt(p*(p – x)*(p – y)*(p – z));
End;
BEGIN
Clrscr;
Writeln(‘Введите стороны четырехугольника и диагональ: ’);
Readln(a, b, c, d, f);
Treug(a, b, f, s1);
Treug(c, d, f, s2);
S:=s1 + s2;
Write(‘Площадь четырехугольника = ’, s:5:2);
Readkey;
END.




Назад

Далее