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);
}
}