Функция, вычисляющая наибольший общий делитель

Алгоритм решения задачи: 

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

Программа на языке Паскаль: 

var
    k, l, n: integer;
 
function nod (var a,b: integer): integer;
    var c: integer;
    begin
        repeat
            if a > b then
                a := a mod b
            else
                b := b mod a;
        until (a = 0) or (b = 0);
 
        nod := a + b;
    end;
 
begin
 
    writeln ('Введите два числа: ');
    readln (k, l);
 
    n := nod (k, l);
 
    writeln ('НОД = ', n);
 
readln
end.

Комментарии

задача на нахождение НОД

переменная с: integer; в описании функции лишняя

Найти НОД(504, 2464).

Помогите решить.

var k, l, n,z:

var
    k, l, n,z: integer;
 
procedure nod ( a,b: integer);
    var c: integer;
    begin
        repeat
            if a > b then
                a := a mod b
            else
                b := b mod a;
        until (a = 0) or (b = 0);
 
        z:= a + b;
    end;
 
begin
 
    writeln ('Введите 2 числа: ');
    readln (k, l);
 
 
   nod (k, l);
 
    writeln ('ÍНОД= ', z);
 
 
end.
Ответ: НОД=56