közvetett rekurzió
A fenti program egy úgynevezett közvetlen rekurzió, amikor a test egy eljárásra vonatkozó közvetlen kihívást is. A PASCAL hagyjuk is közvetett rekurzió, ha például, az eljárás, az eljárás meghívja a B eljárás, és ő viszont, - az eljárás A. A hívás időtartamát lánc lehet önkényes, de szükséges, hogy figyelemmel kísérjük a fejlődését a program azok számára, a rekurzív algoritmus már a konvergencia, azaz nem vezet végtelen kölcsönös szubrutinhívás.
Képletesen közvetett rekurzió lehet a következőkben ismertetjük. A tükör előtt 1 egy 2 tükör, amely tükrözi magát a tükörben 1. Az utóbbi látható tükör 2, stb
Íme egy példa program szemlélteti a közvetett rekurzív eljárás hívások. Ebben a programban REC1 és Rec2 eljárást rekurzívan hívja egymást, viszont csökkenti a tényleges paramétereit. Könnyen belátható, hogy mindkét eljárást dolgozik az egyik a globális változó egy, továbbítjuk nekik a linken keresztül. A kritérium a befejezése után a kezelés változó nullára.
Felhívjuk figyelmét, hogy a program nem igényel előzetes meghatározása a második Rec2 eljárás, hiszen megtalálható a hívás REC1 eljárást, azaz előtt teljes leírása.
Program KosvRecurs;
var
A. egész szám;
Eljárás Rec2 (Var Y: integer); Előre;
Eljárás REC1 (Var X: integer);
kezdődik
X: = X-1;
ha X> 0
majd
REC2;
writeln (X)
Vége;
Eljárás Rec2 (Var Y: integer);
kezdődik
Y: = Y div 2;
ha Y> 2
majd
REC1;
writeln (Y)
Vége;