Module: subrutinas recursión


Problem

1/12

Recursión. ¿Qué es esto?

Theory Click to read/hide

Un procedimiento o función puede contener una llamada a otro procedimiento dentro de él. Incluso, la subrutina puede llamarse a sí misma. En este caso, a la computadora no le importa. Él, como siempre, ejecuta consistentemente los comandos que encuentra de arriba a abajo.

Si recuerdas las matemáticas, entonces allí puedes encontrar el principio de inducción matemática. Es como sigue: algún enunciado es verdadero para todo n natural si
    1) es válido para n = 1;
    2) de la validez de la declaración para cualquier natural arbitrario n = k se sigue que es verdadera para n = k+1.

En programación, esta técnica se llama recursividad.

Recursividad es una forma de definir un conjunto de objetos en términos del propio conjunto, basándose en casos base simples dados.

Recursivo es un procedimiento (función) que se llama a sí mismo directamente o a través de otros procedimientos y funciones.
Ejemplo de un procedimiento recursivo:

void Rec(int a)
{
  si (a>0) { Rec(a-1); }
  Consola.WriteLine(a);
}

Esquemáticamente, el trabajo de la recursividad se puede representar como un diagrama de flujo.

 
Rec() el procedimiento se ejecuta con el parámetro 3 Luego, dentro del procedimiento con parámetro 3, se llama al procedimiento con parámetro 2, y así sucesivamente, hasta que se llama al procedimiento con parámetro 0. trabajo. Luego, el control se transfiere nuevamente al procedimiento con el parámetro 1, también termina su trabajo imprimiendo el número 1, y así sucesivamente. antes del procedimiento con el parámetro 3. 

Todos los procedimientos llamados se almacenan en la memoria hasta que completan su trabajo. El número de procedimientos simultáneos se denomina profundidad de recurrencia.

Problem

Usando el procedimiento analizado, agregue las líneas necesarias al programa principal.
Comprenda por qué el programa da tal respuesta.