Вывести на экран таблицу трассировки для функции - Pascal ABC
Формулировка задачи:
Помогите пожалуйста вывести на экран таблицу трассировки для функции нахождения k-ого члена последовательности Фибоначчи
Решение задачи: «Вывести на экран таблицу трассировки для функции»
textual
Листинг программы
uses crt; function fib(k:integer):integer; begin if k<2 then fib:=1 else fib:=fib(k-2)+fib(k-1); end; var k,i:integer; begin repeat write('Ввкдите k от 1 до 20 k='); readln(k); until k in [1..20]; clrscr; writeln('---------------------------------------------------------------------'); writeln('|Текущий уровень| Рекурсивный спуск | Рекурсивный возврат |'); writeln('| рекурсии | | |'); writeln('---------------------------------------------------------------------'); for i:=0 to k-1 do begin gotoXY(1,whereY); write('|',i:8); gotoXY(17,whereY); if i=0 then write('| Ввод: k=',k-i,' fib(',k-i,');') else write('| i=',k-i+1,' fib(',k-i,');'); gotoXY(41,whereY); if i=0 then write('| Вывод: fib(',k,')=',fib(k)) else write('| fib:=',fib(k-i-1),'+',fib(k-i)); gotoXY(69,whereY); writeln('|'); end; gotoXY(1,whereY); write('|',k:8); gotoXY(17,whereY); write('| i=1 fib:=1'); gotoXY(69,whereY); writeln('|'); write('---------------------------------------------------------------------'); end.