В математиці за допомогою функцій задаються залежності одних величин від інших, які називаються аргументами. В алгоритмічних мовах розглядаються лише функції, для яких можна задати алгоритм визначення їхніх значень.Мова Паскаль допускає лише такі функції, значення яких належить до простих типів.
Опис підпрограми-функції повинен бути в розділі опису процедур і функцій. Загальний вигляд опису функций:
Function <ім’я_функції>(<список_формал._парам.>):<тип_функції>
Begin
<тіло_функції>
end;
Іменем функції може бути довільний ідентифікатор. Список параметрів містить перелік ідентифікаторів змінних – параметрів функції. Ці параметри використовуються для передачі даних в підпрограму- функцію, список параметрів може бути відсутнім. Типи значень функції повинні бути або стандартними , або попередньо описані з зазначенням їхнього імені.
Внутрішня структура функції аналогічна до структкри програми, тобто спочатку ідуть описи, а потім після слова begin оператори, що виконуються.Функції можуть містити описи інших підпрограм. В тілі функції повинен бути принаймні один оператор типу
<ім’я_функції>:=<вираз>;
Приклад.Обчислення квадратного кореня методом Герона. Метод Герона-метод послідовних наближень. Якщо задано число а і потрібно з нього наближено обчислити квадратний корінь, то спочатку вибирається овільне початкове наближення х0, Задається точність >0 і будується послідовність xn+1=(xn+a/xn)/2. Обчислення завершуються при виконанні умови .
{$N+} {вказання транслятору генерувати код для математичного
співпроцесора}
program geron;
function ger(x:real):real;
const
eps=1.0E-4;
var
y,z:real;
begin
y:=1.0;
while abs(z-y)>=eps do
begin
z:=y;
y:=(y+x/y)/2;
end;
ger:=y;
end;
begin
writeln(’алгоритм Герона для обчислення квадратного кореня:’);