z1.PAS

{* Последовательность Фибоначчи *}

Unit Z1;
Interface
Implementation
Begin
 writeln('Последовательность записана в одну строку без пробелов. Например: 112358132134..... Требуется найти n-ую цифру данной последовательности. К примеру, двенадцатая цифра - 4.');
End.

Program z1;

Uses z1.pas; {* Эту строку можно удалить *}
Uses crt; {* Подключаем внешние файлы *}
Var {* Объявление переменных *}
  n               : integer;
  s               : String;
Procedure fib(n : integer;
a               : integer;
b               : integer;
Var {* Объявление переменных *}
  s : String);
Var {* В работе нам потребуются переменные: *}
  d : String[10];
Begin
  If keypressed Then
    halt;
  If n > 0 Then
  Begin
    str(a + b, d);
    s := s + d;
    fib(n - 1, b, b + a, s);
  End;
  
End;
Begin
  clrscr; {* Очищаем экран *}
  writeln('Ввод n');
  readln(n);
  s := '11';
  fib(n - 2, 1, 1, s);
  writeln(s[n]);
  readkey; {* Ждем нажатия пользователя *}
End.