rogram tp6;
Const
tope = 18;
Type
tipotabla = Array [1..18] of integer;
var
tabla : tipoTabla;
I:integer;
{Devuelve el n£mero n-‚simo de la sucesi¢n de Fibonacci. Cada n£mero de dicha sucesi¢n es la suma de sus dos antecesores}
function fibonacci (nro:integer):integer;
{Para n=3: Primera llamada: fibonacci(3-1)+fibonacci(3-2)}
{Fibonacci(3-1)= fibonacci(1) -> como n<=2 fibonacci=1
fibonacci(3-2)=fibonacci(2) -> al igual que antes fibonacci=1
1+1 = 2 como efectivamente ocurre con la sucesi¢n de fibonacci. Lo que hace la funci¢n es llamarse a s¡
misma,
en eso consiste la recursividad, mientras n>2}
begin
if (nro<=2) then
fibonacci:=1
else
fibonacci:= fibonacci (nro-1)+ fibonacci (nro-2);
end;
var
nro,resultado:integer;
begin
for i:=1 to tope do
begin
tabla[i]:=Fibonacci(i);
writeln (tabla[i]);
end;
readln;
end.