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

Функции


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

Функция – это подпрограмма, предназначенная для того, чтобы вычислять только одно значение. Также функции отличаются от процедур:
  1. Заголовком;
  2. В теле функции обязательно должен присутствовать оператор присваивания, где в левой части стоит имя функции, а в правой – ее значение. Иначе, значение не будет определено;
  3. Обращением к функции не оператор, а выражение.

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

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

Program pl2;
Uses crt;
Var a, b, c, d, f, s: real;
Function PL_t(x, y, z: real):real;
Var p: real;
Begin
P:=(x + y + z)/2;
Pl_t:=sqrt(p*(p - x)*(p - y)*(p - z));
End;
BEGIN
Clrscr;
Writeln('Введите стороны четырехугольника и диагональ: ');
Readln(a, b, c, d, f);
S:=Pl_t(a,b,f)+Pl_t(c,d,f);
Write('Площадь четырехугольника = ', s:5:2);
Readkey;
END.

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




Назад

Далее