Sunteți pe pagina 1din 2

LUCRARE DE LABORATOR NR. Recursia.

Scopul lucrrii: nsuirea procedeelor de elaborare a algoritmilor recursivi. Avantajele i dezavantajele algoritmilor recursivi fa de cei iterativi. Exemplu de program: S se calculeze iterativ i recursiv suma primilor n termeni ai irului 1 7 19 37 ... 3n2+3n+1 (numrul n se introduce de la tastatur). Listingul programului:
#include <iostream.h> #include <conio.h> int rec(int n) {int s; if(n==1) return(1); else return(rec(n-1)+3*n*n-3*n+1);} int iter(int n) {int i,s; s=0; for(i=1;i<=n;i++) s=s+3*i*i-3*i+1; return(s);} void main(){ int n; clrscr(); cout<<"n=";cin>>n; cout<<rec(n)<<" "<<iter(n); getch();}

Coninutul raportului: 1.Scopul lucrrii; 2.Condiia problemei n limbaj atematic.; 3.Textul programului n limbajul C++ (listing); 4.Exemplu de testare; 5.Concluzii. Variante.

S se calculeze iterativ i recursiv suma primilor n termeni ai irului (numrul n se introduce de la tastatur): 1) 1 3 5 7 ... 2n-1; 2) 2 4 6 8 ... 2n; 3) 1 3 7 15 ... 2n-1; 4) 1 4 7 10 ... 3n-2; 5) 1 2 6 24 ... n!; 6) 2 4 10 24 ... 2n+1-2n; 7) 1 4 9 16 ... n2; 8) 2 6 12 20 ... n2+n; 9) 1
1 2 1 3

10) 1 5 19 49 ... n3 -n2+1; 11) 1 5 9 13 ... 4n-3; 12) 3 5 7 9 ... 2n+1; 13) 1 2 4 8 ... 2n-1; 14) Elaborai un program care calculeaz recursiv primii n termeni ai irului Fibonacci. 15) Elaborai un program care calculeaz recursiv suma elementelor unui tabel unidimensional. 16) Elaborai un program recursiv care calculeaz n!. 17) Elaborai un program recursiv pentru calcularea an, a fiind real, iar n natural. k 18) Elaborai un program care s calculeze recursiv Pn . k 19) Elaborai un program care s calculeze recursiv A n . 20) Elaborai un program care s calculeze recursiv C k n .

1 1 ... ; 4 n