Definition: ein Unterprogramm heißt rekursiv, wenn es sich selbst aufruft.
Beispiel: Verarbeitung von rekursiven Datenstrukturen
int size (Tree b) {
if (b ist Blatt) { return 1; }
else { return
1 + size (links(b)) + size (rechts(b));
} }
Beispiel (John McCarthy): Berechne f(7); f(77); für
static int f (int x) {
if (x > 100) { return x - 10; }
else { return f (f (x + 11)); }
}