Pascal. Функция (FUNCTION)

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

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

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

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

program four;
var a, b, c, d m,n: integer:
function nod(x, y: integer):integer;
var h: integer;
begin
if y=0 then h: =x else
if x<y then h:= nod(x,) else
h:= nod(x mod y, y);
nod: =h
end;
begin
writeln(‘введите 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.