Задача 5 Урок 22

Задача 5 Урок 22 Пользователь получает на вход целое положительное число N напишите рекурсивную процедуру, которая выведет все числа Фиббоначи от первого до N-ого

var
  a, b, n, k: integer;

procedure fibonachi(a, b, k, n: integer);
var c: integer;
begin
  writeln(k,')', a);  // вывод числа
  c := a;       // присваиваем текущзее число в с
  a := a + b;  // складываем а с  предыдущем b
  b := c;      // записываем в b (предыдущее)
  if n > k then
    fibonachi(a, b, k+1, n); // реккурсивный вызов пока k не станет мекньше n
end;

begin
  writeln('ENTER ');
  readln(n);
  a := 1; // выводимые числа
  b := 0; // второе для складывания число
  k := 1; // для выхода из проц
  fibonachi(a, b, k, n); // в проц
  readln();
end.             

Вывод консоли:

ENTER
5
1)1
2)1
3)2
4)3
5)5