Bueno hemos llegado al capítulo de las recursión y se usa básicamente generalmente en cálculos matemáticos.
Por ejemplo vamos a ver un ejemplo muy simple para sacar una ponencia de un número y a llamarse recursivamente
esta función y nos va a mostrar por pantalla ese número multiplicado por dos.
Una y otra vez.
Bueno vamos a ver un ejemplo vamos a aquí yo he actualizado mi Visual Studio account por eso no tengo
los los ejercicios anteriores pero tengo aquí mi estructura.
Vamos a crear el Leger 12 la carpeta nos paramos sobre Go Cardoze.
Vamos a crear nuestro Main punto y copiamos lo habitual.
Bueno muy bien vamos a crear primero nuestra función que es nuestra función recursiva la vamos a llamar
por ejemplo exponencial y va a recibir un número de tipo entero y no nos va a devolver nada.
En definitiva va a ser un método que se va a llamar a sí mismo y me va a mostrar por pantalla esta multiplicas
lo que vamos a hacer primero es que vamos a construir la salida de la función porque si no construimos
una salida.
La función de manera recursiva va a iterar de manera infinita y se nos va a conseguir un loop impresionante
y no vamos a poder salir de la ejecución vamos a darle salida vamos a decir que cuando el número sea
mayor a 10 millones o 100 millones aquí vamos a hacer un ratón pero mientras tanto número no llegue
a esa cifra vamos a hacer un FNT print LN de número lo vamos a ir mostrando el valor de número que se
va a ir incrementando por pantalla y ahora vamos a hacer la recursión.
Cómo se hace la recursión llamando a la función y pasándole un parámetro en este caso vamos a hacer
qué número se ha multiplicado por dos.
Esto va vamos a colocar en nuestro mail la llamada a esta función si no no va a funcionar exponencial
y le vamos a decir que le vamos a pasar un valor de dos.
Esto es lo que va a hacer es llamar a la función exponencial voy a tener un parámetro de entrada que
va a ser un número que va a tener un valor inicial de 2 cuando llegue a este cifra no se va a cumplir
la condición me va a mostrar el 2 por pantalla y cuando venga aquí va a multiplicar al 2 lo va a multiplicar
por dos.
Iba a llamarse nuevamente esto va a tener un valor de 4.
Va a venir aquí no va cumplir la condición va a volver a mostrar por pantalla en este caso va a mostrar
un 4 y va a volver a multiplicar 4 por 2 y va a ser n veces hasta que el número supere esta cifra que
tenemos aquí.
Esto es recursión es una función que se llama a sí misma.
Esto crea toda una pila de stack de llamadas en memoria donde se va a ir ejecutando una y otra vez cuando
sale de la función con toda esa pila de llamadas desaparece de memoria.
Vamos a agravarlo vamos a ejecutarlo vamos a Cardoze.
Vamos a ver si tenemos nuestro punto vamos a borrar la pantalla vamos a poner gorrón Main .8 previamente
lo voy a ampliar un poco para que tengamos una visión más clara y lo ejecutamos.
Esperamos primeros segundos que se toma GOW y aquí tenemos el resultado de nuestra función recursiva.
Fíjense como voy sacando la ponencia un número esto son números muy conocidas en el ámbito de sistemas
porque pertenecen a todo lo que tiene que ver con los bits y los bits.
Son números muy comunes a nosotros y aquí tenemos la exponencial hasta que logró encontrar qué número
superó los 100 millones.
Eso es lo que tenemos aquí los tres primeros ceros los segundos tres ceros y los 100 millones.
Por eso ha finalizado la ejecución.
Esto es todo lo que tienen que saber en recursión no hay mucho misterio.
Recuerden que hace sencillo lo que quizás otros lenguajes hacen complejo.
Nos vamos al próximo capítulo y seguimos avanzando en lenguaje como.