Sunteți pe pagina 1din 4

Funcții recursive

Funcție recursivă= o funcție care se apelează pe ea însăși

-caracteristica principală a unei funcții recursive este apelul funcției prezente în


structura ei.

-algoritmul de recursivitate trebuie să fie oprit printr-o instrucțiune de tip return( prezintă
o structură de tip stivă ce reține variabilele funcției la fiecare pas și instrucțiunile funcției.

Structura funcției recursive =modul general

nume funcție(listă parametri)

if(condiție)

nume funcție(listă parametri)

else

return valoare;

Ex: 1 Să se realizeze un program în C++ care determină factorul unui număr natural
n,citit de la tastatură ,folosind o funcție recursivă.

Date intrare: n

Date ieșire: n!

#include<iostream>

Using namespace std;

Int main( )

Int i,n,factorial;

Cin>>n

Factorial=1;

For(i=1;i<n;i++)
Factorial=factorial *1;

Cout<<n<<”!=”<<factorial;

Return 0

2 Fact. Unui număr folosind o funcție ce calculează valoarea factorialului.

2.1 main funcția factorial

{ {

Apel funcție citire n

} calcul n!

afișare n!

#include<iostream>

Using namespace std;

Void Mihaela ( );

Int main( )

Mihaela ( );

Return 0;

Void Mihaela( )

Int i,n,factorial;

Cin>>n;

Factorial=1;

For(i=1;i<n;i++)
Factorial=factorial * 1;

Cout<<mihaela a calculat factorialul lui<<n<<”!=”<<factorial;

2.2 funcția Mihaela primește un număr și calculează factorialul numărului și îl


afișeză

Main( ) Funcție(n)

{ {

Citire n calcul n!

Apel funcție(n) afișare n

} }

#include<iostrean>

Using namespace std;

Void Mihaela(int n);

Int main ( )

Int n;

Cin>>n;

Mihaela (n);

Return 0;

Void Mihaela(int n)

Int i,factorial=1;

For(i=1;i<n;i++)

Factorial=factorial *1;
Cout<<n<<”i=”<<factorial;

2.3 Factorialul folosind o funcție recursivă

#include<iosteam>

Using namespace std;

Int Mihaela(int n);

Int main( )

Int n,factorial;

Cin>>n;

Factorial=Mihaela(n);

Cout<<n<<”!=”<<factorial;

Return 0;

Int Mihaela(int n)

Int factorial=1;

If(n!=1)

Factorial=Mihaela(n-1);

Else

Return 1;

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