Recursión. Simulación de bucle
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 trabajo 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.
void LoopImitation(int i, int n)
{
cout << "Hola N" << yo << fin; // Operador a repetir para cualquier valor de i
if (i < n) // Hasta que el contador de bucle sea igual a n,
{ // llama a una nueva instancia del procedimiento, con el parámetro i+1 (pasa al siguiente valor i).
LoopImitation(i + 1, n);
}
}