Процедуры и функции
Функции
Если в алгоритме некоторая его часть повторяется несколько раз, то удобнее всего такую часть оформить как подпрограмму, написав ее один раз и обращаться к ней по мере необходимости. Подпрограмма – это часть программы, оформленная в виде отдельной синтаксической конструкции и снабженная именем. В Паскале подпрограммы называются процедурами и функциями и описываются в разделе описания процедур и функций (обязательно до раздела операторов!).
Функция – это подпрограмма, предназначенная для того, чтобы вычислять только одно значение. Также функции отличаются от процедур:
- Заголовком;
- В теле функции обязательно должен присутствовать оператор присваивания, где в левой части стоит имя функции, а в правой – ее значение. Иначе, значение не будет определено;
- Обращением к функции не оператор, а выражение.
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. Замечание. Описание любой функции можно заменить описанием соответствующей процедуры, однако, если подпрограмма имеет один результат лучше использовать функцию, т.к. многократный вызов процедуры требует соответствующего числа операторов вызова.
Назад
Далее