1
00:00:04,970 --> 00:00:11,680
Bueno hemos llegado al capítulo de las recursión y se usa básicamente generalmente en cálculos matemáticos.

2
00:00:11,680 --> 00:00:19,860
Por ejemplo vamos a ver un ejemplo muy simple para sacar una ponencia de un número y a llamarse recursivamente

3
00:00:19,870 --> 00:00:25,680
esta función y nos va a mostrar por pantalla ese número multiplicado por dos.

4
00:00:25,720 --> 00:00:27,250
Una y otra vez.

5
00:00:27,250 --> 00:00:34,300
Bueno vamos a ver un ejemplo vamos a aquí yo he actualizado mi Visual Studio account por eso no tengo

6
00:00:34,300 --> 00:00:37,960
los los ejercicios anteriores pero tengo aquí mi estructura.

7
00:00:37,960 --> 00:00:45,430
Vamos a crear el Leger 12 la carpeta nos paramos sobre Go Cardoze.

8
00:00:45,520 --> 00:00:49,950
Vamos a crear nuestro Main punto y copiamos lo habitual.

9
00:00:49,990 --> 00:00:57,220
Bueno muy bien vamos a crear primero nuestra función que es nuestra función recursiva la vamos a llamar

10
00:00:57,250 --> 00:01:04,240
por ejemplo exponencial y va a recibir un número de tipo entero y no nos va a devolver nada.

11
00:01:04,240 --> 00:01:11,760
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

12
00:01:11,890 --> 00:01:18,550
lo que vamos a hacer primero es que vamos a construir la salida de la función porque si no construimos

13
00:01:18,550 --> 00:01:19,580
una salida.

14
00:01:19,660 --> 00:01:28,390
La función de manera recursiva va a iterar de manera infinita y se nos va a conseguir un loop impresionante

15
00:01:28,390 --> 00:01:35,380
y no vamos a poder salir de la ejecución vamos a darle salida vamos a decir que cuando el número sea

16
00:01:35,380 --> 00:01:42,910
mayor a 10 millones o 100 millones aquí vamos a hacer un ratón pero mientras tanto número no llegue

17
00:01:43,180 --> 00:01:51,760
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

18
00:01:51,760 --> 00:01:56,740
va a ir incrementando por pantalla y ahora vamos a hacer la recursión.

19
00:01:56,830 --> 00:02:04,600
Cómo se hace la recursión llamando a la función y pasándole un parámetro en este caso vamos a hacer

20
00:02:04,600 --> 00:02:07,090
qué número se ha multiplicado por dos.

21
00:02:07,150 --> 00:02:14,920
Esto va vamos a colocar en nuestro mail la llamada a esta función si no no va a funcionar exponencial

22
00:02:14,920 --> 00:02:18,760
y le vamos a decir que le vamos a pasar un valor de dos.

23
00:02:18,790 --> 00:02:24,220
Esto es lo que va a hacer es llamar a la función exponencial voy a tener un parámetro de entrada que

24
00:02:24,220 --> 00:02:31,120
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

25
00:02:31,120 --> 00:02:39,550
la condición me va a mostrar el 2 por pantalla y cuando venga aquí va a multiplicar al 2 lo va a multiplicar

26
00:02:39,550 --> 00:02:40,500
por dos.

27
00:02:40,600 --> 00:02:45,010
Iba a llamarse nuevamente esto va a tener un valor de 4.

28
00:02:45,040 --> 00:02:51,790
Va a venir aquí no va cumplir la condición va a volver a mostrar por pantalla en este caso va a mostrar

29
00:02:51,790 --> 00:03:02,140
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

30
00:03:02,140 --> 00:03:03,350
tenemos aquí.

31
00:03:03,430 --> 00:03:07,960
Esto es recursión es una función que se llama a sí misma.

32
00:03:07,960 --> 00:03:16,510
Esto crea toda una pila de stack de llamadas en memoria donde se va a ir ejecutando una y otra vez cuando

33
00:03:16,510 --> 00:03:23,830
sale de la función con toda esa pila de llamadas desaparece de memoria.

34
00:03:23,980 --> 00:03:28,460
Vamos a agravarlo vamos a ejecutarlo vamos a Cardoze.

35
00:03:28,570 --> 00:03:38,590
Vamos a ver si tenemos nuestro punto vamos a borrar la pantalla vamos a poner gorrón Main .8 previamente

36
00:03:38,590 --> 00:03:44,980
lo voy a ampliar un poco para que tengamos una visión más clara y lo ejecutamos.

37
00:03:44,980 --> 00:03:54,500
Esperamos primeros segundos que se toma GOW y aquí tenemos el resultado de nuestra función recursiva.

38
00:03:54,670 --> 00:04:01,750
Fíjense como voy sacando la ponencia un número esto son números muy conocidas en el ámbito de sistemas

39
00:04:01,750 --> 00:04:06,370
porque pertenecen a todo lo que tiene que ver con los bits y los bits.

40
00:04:06,610 --> 00:04:16,150
Son números muy comunes a nosotros y aquí tenemos la exponencial hasta que logró encontrar qué número

41
00:04:16,240 --> 00:04:18,040
superó los 100 millones.

42
00:04:18,040 --> 00:04:25,000
Eso es lo que tenemos aquí los tres primeros ceros los segundos tres ceros y los 100 millones.

43
00:04:25,030 --> 00:04:27,970
Por eso ha finalizado la ejecución.

44
00:04:27,970 --> 00:04:31,860
Esto es todo lo que tienen que saber en recursión no hay mucho misterio.

45
00:04:31,930 --> 00:04:37,510
Recuerden que hace sencillo lo que quizás otros lenguajes hacen complejo.

46
00:04:37,510 --> 00:04:41,960
Nos vamos al próximo capítulo y seguimos avanzando en lenguaje como.
