Sunteți pe pagina 1din 7

Algoritmi de generare a

sirurilor recurente

Sirul lui Fibonacci
Continut
Notiuni introductive
Definirea termenilor sirului
Pasii algoritmului
Algoritmul in limbajul pseudocod.

Notiuni introductive-sirul lui Fibonacci
Sirurile recurente sunt acele siruri in care un anumit termen se obtine
utilizand valorile termenilor anteriori,un exemplu clasic fiind sirul lui
Fibonacci.
Notam cu a1, a2,,an termenii sirului. Definirea lor se realizeaza
astfel:
a1=1;
a2=1;
a3=a1+a2;
.
an=an-2+an-1
Astfel primii 5 termeni ai sirului vor fi: 1, 1, 2, 3, 5
Pasii algoritmului
Pentru generarea primilor n termeni ai sirului se vor genera
repetat termenii de rang i ai sirului.
Se vor folosi trei variabile de memorie:
-a1 pentru ai-2
- a2 pentru ai-1
- a3 pentru termenul curent ai.
Dupa fiecare generare a unui termen se vor actualiza
valorile din variabilele a1 si a2.
Pasii algoritmului
Pas 1:Se inititializeaza termenii a1 si a2: a11,a21;
Pas 2:se afiseaza a1 si a2.
Pas 3:se initializeaza contorul i care numara termenii
generati: i3
Pas 4: se calculeaza termenul a3 prin operatia: a3a1+a2
Pas 5:se afiseaza termenul a3
Pas 6:se actualizeaza valorile pentru a1 si a2 : a1a2,
a2a3
Pas 7:se incrementeaza contorul i
Pas 8:daca i<=n atunci se revine la pasul 4; altfel se
termina algoritmul.
Pseudocod
intreg a1,a2,a3,n,i;
inceput
citeste n;
a11; a21;
scrie a1,a2;
pentru i3,n executa
a3a1+a2;; scrie a3;
a1a2; a2a3;
sfarsit_pentru;
sfarsit.
Ex: Daca n=6 atunci primii
n termeni sunt:
1, 1, 2, 3, 5, 8

Fisa de lucru

1.Scrieti termenul al 8-lea termen al sirului lui Fibonacci.
2.Ce se va afisa in urma executarii urmatoarei secvente?

a11; a21;
i3;
cat_timp i<7 executa
a3a1+a2;
a1a2; a2a3;
ii+1;
sfarsit_cat_timp;
scrie a3;
3. Sa se determine daca un numar n introdus de la tastatura poate fi un termen
al sirului lui Fibonacci.
4.Sa se afiseze toti termenii sirului lui Fibonacci mai mici decat un numar
intreg n introdus de la tastatura.

S-ar putea să vă placă și