Module: (C++) Recursión


Problem

2/12

Recursión. Simulación de ciclo

Theory Click to read/hide

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

Problem

Estudie el programa a continuación y organice en el programa principal una llamada a procedimiento con los parámetros i=1, n=10. #incluye <iostream> utilizando el espacio de nombres estándar; //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); } } principal() { // aquí es necesario emitir una llamada a procedimiento con parámetros i=1, n=10. }