1 / 16

Welcome

Real programmers don't work from 9 to 5. If any real programmers are around at 9am it's because they were up all night. Welcome. Mascasan Anca Muresan Vlad Pop Daiana Sandor Alexandru. Informatica este arta iar informaticianul creatorul !. Relatii de recurenta Siruri de recurenta.

jane
Télécharger la présentation

Welcome

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Real programmers don't work from 9 to 5. If any real programmers are around at 9am it's because they were up all night Welcome

  2. Mascasan Anca Muresan Vlad Pop Daiana Sandor Alexandru Informatica este arta iar informaticianul creatorul!

  3. Relatii de recurentaSiruri de recurenta

  4. Un sir a1,a2,…,an,… este o succesiune de valori numite elementele sirului, aranjate intr-o oridine definita.Fiecare element ocupa in cadrul sirului o pozitie fixata, care se numeste rangul elemntului. Definitie: Unele siruri pot fi definite cu ajutorul unor formule care exprima orice termen al sirului, incepand cu un anumit rang,in fuctie termenul precendent sau recurenta. Pentru a putea defini recurent un sir, mai trebuie sa indicam primul termen sau primii termeni.

  5. Sirul lui Fibonacci • Sirul lui Fibonacci este un sir de numere intregi (F1,F2,…,Fn,…),definit recurent astfel: primii doi termeni sunt egali cu 1, apoi fiecare termen incepand cu al treilea,este egal cu suma dintre precedentul si anteprecedentul sau.

  6. Exemplu: -pentru un termen oarecare Fk (termenul de rang k),precedentul sau este Fk-1 (de rang k-1),iar anteprecedentul sau este Fk-2 (de rang k-2).Astfel, F1=1, F2=1 si Fk=Fk-1+Fk-2;k>3.

  7. Pentru o descriere completa scriem o relatie de recurenta care inglobeaza atat formula de calcul,cat si valorile termenilor definiti separat: Fk = - 1, pentru k = 1 si 2 - Fk-1 + Fk-2, pentru k >= 3

  8. Function F(x:integer):integer; Begin if x=1 or x=2 then Fx=1; if k>=3 then Fx=Fx-1 + Fx-2;end; Caracterulrecursiv al algoritmuluipentrudeterminareatermenilorsiruluilui Fibonacci esteevident.Pentru a calcula un termenoarecareFk, avemnevoie de termeniiprecedenti Fk-1si Fk-2 Dar aflarea termenilor Fk-1 si Fk-2 se poate face cu acelasi algoritm, doar ca in loc de k avem K-1 respectiv k-2.Prin urmare, algoritmu care calculeaza termenul Fk trebuie sa se auto- apeleze de doua ori , in scopul determinarii termenilor Fk-1 si Fk-2.

  9. Factorialulunuinumar natural Factorialul unui numar natural k este k!= 1*2*3*…*(k-1)*k (produsul numerelor nat. pana la k), care se mai poate scrie : k!= k*(k-1)*…*3*2*1. Dar (k-1)*…*3*2*1 este tocmai (k-1)! De aici se deduce o asa numita relatie de recurenta: k!=K*(k-1)!.

  10. Function F(x:integer):integer; Begin if x=0 then F(x):=1; if x > 0 then F(x):=x*(x-1);end; Folosind faptul ca 0!= 1 ,obtinem relatia de recurenta completa: Caracterul recursiv consta in faptul ca din corpul algoritmului care calculeaza k! se auto apeleaza algoritmul pentru a calcula (k-1)!

  11. Sume cu n termeni Suma primelor n numere naturale impare Pe caz general, sirul primelor n numere naturale impare este (1,3,5,…,2n-1).Notand termenii sirului cu a1, a2,…,an. Observam ca un termen oarecare ak (de rang k) are valoarea 2*k-1.Vom spune ca sirul de mai sus este definit prin formula termenului general ak=2*k-1. Suma primelor n numere nat. este: Sn=a1+a2+…+an=1+3+5+…+2n-1.

  12. Daca al n-lea termen, cel de rang n , este 2*n-1, atunci al (n-1)-ulea termen este 2(n-1)-1, adica 2*n-3 .Astfel, Sn=1+3+5+…+(2*n-3)+(s*n-1).Dar 1+3+5+…+(2*n-3) reprezinta suma primelor n-1 numere naturale impare notata Sn-1, deci Sn=(2*n-1)+Sn-1.Pentru n=0, avem cazul particular S0=0.

  13. Obtinem astfel relatia de recurenta completa: Sn= 0 npentru n=0 (sn-1)+Sn-1 ,pentru n>0 Function S(x:integer):integer; begin if n=0 then S:=0; if n>0 then S:=(2n-1) + Sn-1; end;

  14. Exemplu de probleme cu siruri de recurenta: var a,b:real; n:integer; function bn(n:integer):real; forward; function an(n:integer):real; begin if n=0 then an:=a else an:=(an(n-1+bn(n-1))/2 end; function bn(n:integer):real; begin if n=0 then bn:=b else bn:=sqrt(an(n-1)*bn(n-1)); end; begin write(‘a=‘); readln(a); write(‘b=‘); readln(b); write(‘n=‘); readln(n); writeln(an(n):5:10,’ ‘,bn(n):5:10); end. Se considera sirurile definite recurent astfel:a0=a; b0=b, a,b>0: an=(a (n-1)+b(n-1))/2 , bn=√a(n-1)*b(n-1). Sa se scrie un program care sa citeasca a, b si n si sa se calculeze an si bn.

  15. Sfarsit Windows is shuting down

More Related