200 likes | 1.03k Views
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.
E N D
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: a1←1,a2←1; • Pas 2:se afiseaza a1 si a2. • Pas 3:se initializeaza contorul i care numara termenii generati: i←3 • Pas 4: se calculeaza termenul a3 prin operatia: a3←a1+a2 • Pas 5:se afiseaza termenul a3 • Pas 6:se actualizeaza valorile pentru a1 si a2 : a1←a2, a2←a3 • Pas 7:se incrementeaza contorul i • Pas 8:daca i<=n atunci se revine la pasul 4; altfel se termina algoritmul.
Pseudocod Ex: Daca n=6 atunci primii n termeni sunt: 1, 1, 2, 3, 5, 8 intreg a1,a2,a3,n,i; inceput citeste n; a1←1; a2←1; scrie a1,a2; pentru i←3,n executa a3←a1+a2;; scrie a3; a1←a2; a2←a3; sfarsit_pentru; sfarsit.
Fisa de lucru 1.Scrieti termenul al 8-lea termen al sirului lui Fibonacci. 2.Ce se va afisa in urma executarii urmatoarei secvente? a1←1; a2←1; i←3; cat_timp i<7 executa a3←a1+a2; a1←a2; a2←a3; i←i+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.