Recursivitate

==**Definitie : " **O noţiune este definită** recursiv **  **__dacă__**  în cadrul definiţiei intervine însăşi noţiunea care se defineşte . ==

**Reguli fundamentale **pentru ca recursia să fie definită corect:
( manual clasa a X a 2000/ Ema Cherchez, Marinel Şerban)
 * 1) **Trebuie să existe şi cazuri elementare, care se pot rezolva direct.(R1) **
 * 2) **Pentru cazurile care nu se rezolvă direct, recursia trebuie să progreseze către un caz elementar **.“ (R2)

__//**Tipuri Recursivitate **//__
 * Recursivitate = un subprogram se autoapelea ****ză. **
 * Algoritmul trebuie sa fie finit => trebuie  să existe cazuri elementare, care se pot rezolva direct (R1). **
 * **__directă__ (un subprogram se autoapelează);**
 * <span style="color: #0070c0; font-family: Verdana,sans-serif; font-size: 16px;">**__în cascadă__ (o anumită valoare este calculată în cascadă de mai multe ori /vezi Fibonacci); se recomandă utilizarea unui algoritm iterativ;**
 * <span style="color: #0070c0; font-family: Verdana,sans-serif; font-size: 16px;">**__indirectă__ (2 subprograme (A şi B) se apelează unul pe altul );este obligatoriu definirea prototipului subprogramului;**

<span style="color: #0070c0; font-family: Verdana,sans-serif;">media type="custom" key="28983529" = =

[[file:Recursivitate_C_grile.docx]]
http://limbajul-c.wikispaces.com/recursivitate-exemple

Recursivitate prin exemple (AEL)
Principiul stivei AEL