background image

Pojęcie rekurencji. Wyznaczanie liczb Fibonacciego 

 

1/2 

Pojęcie rekurencji – wyznaczanie liczb Fibonacciego. 

 
Funkcja rekurencyjna to funkcja zawierająca odwołanie do samej siebie, czyli do swojej 
nazwy.  
 
Zadanie1:  Napisz program z funkcją rekurencyjną obliczającą wybrany element ciągu 
Fibonacciego. 
 
Ciąg Fibonacciego zdefiniowany jest dla liczb naturalnych w sposób rekurencyjny: 

 

 
Wartości ciągu Fibonacciego dla argumentów od 0 do 8.  

 

 
Przykłady: 
fib(0) = 0  
fib(1) = 1 
fib(2) =  f(1) + f(0) = 1 + 0 = 1 
fib(4) = f(3) + f(2) = [ f(2) + f(1) ] + [ f(1) + f(0) ] = [ 1 + 1] + [1 + 0] = 3 
 

program liczby_fibonacciego; 
uses crt; 
 
var i:word; 
 
function fib(n:integer):word; 
 begin 
  if n>1 then fib:=fib(n-1) + fib(n-2) 
  else fib:=n; 
 end; 
 
begin 
 clrscr; 
 write('Podaj ile liczb Fibonacciego wypisac: '); 
 readln(i); 
 for i:=0 to i do 
 begin 
   writeln('fib(', i,') = ', fib(i)); 
 end; 
 
 readln; 
end. 

 
 
 
 
 

background image

Pojęcie rekurencji. Wyznaczanie liczb Fibonacciego 

 

2/2 

Zadanie 2: Napisz funkję obliczającą silnię metodą rekurencyjną i program sprawdzający jej 
działanie.  
 
Definicja silnii:  

 

Przykłady: 
0! = 1  
3! = 1   2   3 = 6 
5! = 1   2   3   4   5 = 120