Hemos visto que la recursividad es la ejecución repetida de instrucciones contenidas en una subrutina. Y esto, a su vez, es similar al trabajo del ciclo. Hay lenguajes de programación en los que la construcción de bucle está completamente ausente, por ejemplo, Prolog.
Intentemos simular el funcionamiento del bucle for.
El bucle for contiene una variable de contador de pasos. En una subrutina recursiva, dicha variable se puede pasar como parámetro.
//Procedimiento LoopImitation() con dos parámetros
//Primer parámetro – contador de pasos, segundo parámetro – número total de pasos
procedimiento LoopImitation(i, n: entero);
comenzar
writeln('Hola N ', i); // Operador a repetir para cualquier valor de i
si < n entonces //Hasta que el contador de bucle sea igual al valor n,
LoopImitation(i + 1, n); //llamar a una nueva instancia del procedimiento, con el parámetro i+1 (transición al siguiente valor i)
fin;