Функции

Функция – это подпрограмма, определяющая единственное значение. Отличия подпрограммы – функции от процедуры:

  1. Заголовок функции начинается со служебного слова function и заканчивается указанием типа значения функции:
Function имя(описание формальных параметров): тип;
  1. Раздел операторов функции должен содержать хотя бы один оператор присваивания имени функции;
  2. Обращение к функции – не оператор, а выражение вида:
имя функции (список фактических параметров);

Функции (и процедуры) могут использовать свое имя в собственном описании, т.е. могут быть рекурсивными.

Пример:

составим программу, которая для заданных четырех натуральных чисел a, b, c, d напечатает наибольшие общие делители первой и второй пар чисел и сравнит их по величине.

program four;var a, b, c, d m,n: integer:function nod(x, y: integer):integer;var h: integer;beginif y=0 then h: =x elseif x<y then h:= nod(x,) elseh:= nod(x mod y, y);nod: =hend;begin

writln(‘введите 4 натуральных числа’);read(a, b, c, d);writeln;m: =nod(a, b);n: =nod(c, d);writeln(‘НОД(‘,a,’ ,’,b,’)=,m);writeln(‘НОД(‘,c,’ ,’,d,’)=,n);

if m>n then writeln(‘первый > второго’)else

if m<n then writeln(‘первый < второго’)

else writeln(‘НОД пар равны’)end.