Module: (Java) Subrutinas. Recursión.


Problem

2/10

Recursión. Simulación de ciclo

Theory Click to read/hide

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 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 del bucle sea igual al valor n, { //llamar a una nueva instancia del procedimiento, con el parámetro i+1 (ir al siguiente valor de i) LoopImitation(i+1, n); } }

Problem

Estudie el programa a continuación y emita una llamada de procedimiento con parámetros i=1, n=10 en el programa principal #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 del bucle sea igual al valor n, { //llamar a una nueva instancia del procedimiento, con el parámetro i+1 (ir al siguiente valor de i) LoopImitation(i+1, n); } } principal(){ // aquí es necesario emitir una llamada a procedimiento con parámetros i=1, n=10 }