Documente Academic
Documente Profesional
Documente Cultură
Recursivitatea
Recursivitatea este procesul iterativ prin care valoarea unei variabile se
determin pe baza uneia sau a mai multora dintre propriile ei valori anterioare.
Structurile recursive reprezint o alternativ de realizare a proceselor repetitive
fr a utiliza cicluri. Mecanismul recursivitatii consta in posibilitatea ca un
subprogram sa se autoapeleze.
Exista dou tipuri de recursivitate:
1) recursivitate direct - cand un subprogram se autoapeleaz n corpul su ;
2) recursivitate indirect - cnd avem dou subprograme (x si y), iar x face apel la y
i invers ;
Se folosesc algoritmi recursivi atunci cnd calculele aferente sunt descrise n
forma recursiv.
Recursivitatea este frecvent folosit n prelucrarea structurilor de date definite
recursiv. Un subprogram recursiv trebuie scris astfel ncat s respecte regulile :
a) Subprogramul trebuie s poat fi executat cel puin o dat fr a se autoapela;
b)Subprogramul recursiv se va autoapela ntr-un mod n care se tinde spre
ajungerea n situaia de execuie fr autoapel.
Pentru a permite apelarea recursiv a subprogramelor, limbajul Pascal dispune de
mecanisme speciale de suspendare a execuiei programului apelant, de salvare a
informaiei necesare i de reactivare a programului suspendat .