Spunem ca o notiune este definita recursiv daca in definitia ei apare insasi notiunea care se defineste.
Orice functie recursiva trebuie sa contina o conditie de oprire sau continuare. La fiecare reapel al functiei se executa aceiasi secventa de instrunctiuni.
La fiecare reapel, in zona de stiva a memoriei se creeaza un nivel nou pe stiva.Se memoreaza valoare parametrilor formali transmisi prin valoare.
Toate instructiunile din subprogram se executa la fiecare reapel.
Se executa instructiunile din functie pana la instructiunea de reapel.
Se executa din nou aceste secvente de instrunctiuni pt noi parametri ,procedeu prin care se reia pana la intalnirea conditiei de oprire.
Pentru fiecare apel s-a salvat in stiva un nivel.