Qué son las FUNCIONES RECURSIVAS ➤ CURSO en C#

Coding con C
4 Aug 202109:29

Summary

TLDREn este vídeo tutorial, el instructor explica conceptos de programación intermedia centrados en las funciones recursivas. Se presenta un ejemplo sencillo: calcular el factorial de un número utilizando una función que se llama a sí misma hasta llegar a 1. Se detalla cómo se programa en Visual Studio y se muestra paso a paso cómo funciona la recursión, culminando con la ejecución del código para calcular el factorial de 3 y 6, subrayando así la eficacia de este método en la resolución de problemas.

Takeaways

  • 😀 Una función recursiva es aquella que se llama a sí misma durante su ejecución.
  • 📚 Se utiliza la recursión para resolver problemas donde un caso se puede reducir a una versión más pequeña del mismo problema.
  • 🔢 El factorial de un número entero positivo es el producto de todos los números enteros menores o iguales a él.
  • 💡 El símbolo del factorial es un signo de exclamación (n!).
  • 👨‍🏫 En el ejemplo dado, el factorial de 4 es 4 x 3 x 2 x 1, que es igual a 24.
  • 💻 Se programa una función recursiva en C# para calcular el factorial de un número dado por el usuario.
  • 🔁 La función factorial se llama a sí misma hasta que el número sea 1, en cuyo caso devuelve 1.
  • 📝 Se utiliza la función `Console.ReadLine()` para obtener la entrada del usuario y `Console.WriteLine()` para mostrar el resultado.
  • 🛠 Se incluye un punto de ruptura en el código para depurar y ver paso a paso cómo se ejecuta la función recursiva.
  • 🎯 El video finaliza con un ejemplo de cómo calcular el factorial de 6, que es 720, y se anima a los espectadores a suscribirse y activar notificaciones.

Q & A

  • ¿Qué es una función recursiva según el guion del video?

    -Una función recursiva es aquella que se llama a sí misma durante su ejecución, necesitando invocar a sí misma para terminar un proceso dentro de la aplicación.

  • ¿Cuál es la definición de factorial en matemáticas según el video?

    -El factorial de un número entero positivo es el producto de todos los números enteros menores o igual que él, y se denota con el símbolo de exclamación.

  • ¿Cómo se calcula el factorial de un número según el ejemplo del video?

    -El factorial de un número se calcula multiplicando ese número por el factorial de todos los números enteros anteriores hasta llegar a 1.

  • ¿Cuál es el factorial de 4 según el ejemplo del video?

    -El factorial de 4 es 24, ya que 4 x 3 x 2 x 1 = 24.

  • ¿Cómo se declara la función factorial en el código del video?

    -Se declara la función factorial como 'static int factorial' que recibe un parámetro entero y devuelve un número entero.

  • ¿Qué condición utiliza la función factorial para terminar la recursión?

    -La función factorial utiliza la condición 'if (número == 1)' para terminar la recursión, ya que el factorial de 1 es 1.

  • ¿Cómo se implementa la recursión en la función factorial del video?

    -La recursión se implementa mediante la invocación de la función factorial dentro de sí misma, multiplicando el número actual por el factorial del número anterior.

  • ¿Cómo se solicita al usuario ingresar un número para calcular su factorial en el código del video?

    -Se utiliza 'Console.ReadLine()' para solicitar al usuario ingresar un número y luego se convierte ese valor a entero antes de pasarlo a la función factorial.

  • ¿Cómo se imprime el resultado del factorial en la consola en el código del video?

    -Se utiliza 'Console.WriteLine' para imprimir el resultado del factorial, concatenando un mensaje de texto con la variable que contiene el resultado.

  • ¿Cuál es el propósito de las funciones recursivas en la programación según el video?

    -Las funciones recursivas se utilizan para resolver problemas que se pueden dividir en subproblemas del mismo tipo, facilitando la comprensión y la implementación de soluciones a problemas complejos.

Outlines

00:00

📚 Introducción a las Funciones Recursivas

El primer párrafo del guion de video presenta el tema de las funciones recursivas en un curso de programación intermedio. Se explica que una función recursiva es aquella que se invoca a sí misma durante su ejecución para completar un proceso. Se utiliza el ejemplo del cálculo del factorial de un número, que es el producto de todos los números enteros menores o iguales a él, como una aplicación práctica de las funciones recursivas. Se muestra cómo programar una función recursiva para calcular el factorial y se detalla el proceso de invocación de la función misma hasta que se alcanza la base del caso, que es el factorial de 1. Finalmente, se describe cómo se implementa la función en un entorno de desarrollo y cómo se solicita al usuario que ingrese un número para calcular su factorial.

05:02

🔍 Depuración y Pruebas de la Función Recursiva

El segundo párrafo del guion de video se centra en la depuración y pruebas de la función recursiva para calcular el factorial. Se describe el proceso de ejecución paso a paso, mostrando cómo se ingresa un número y cómo la función se ejecuta reiteradamente hasta llegar al resultado. Se ilustra con ejemplos específicos, como el factorial de 3 y 6, y se explica cómo se llega a los resultados finales a través de la multiplicación de los números enteros menores o iguales al ingresado. Además, se menciona la importancia de entender cómo las funciones recursivas operan y cómo se ejecutan de manera iterativa hasta alcanzar la condición de salida. Se concluye el párrafo con un llamado a la suscripción y a la activación de notificaciones para recibir actualizaciones sobre nuevos contenidos del curso de programación.

Mindmap

Keywords

💡Funciones recursivas

Funciones recursivas son aquellas que se llaman a sí mismas durante su ejecución. Se definen por tener una condición de parada, generalmente un caso base, y un caso recursivo que llama a la función con un argumento más reducido. En el video, se utiliza el ejemplo del factorial para ilustrar cómo se implementa una función recursiva, donde el factorial de un número se calcula multiplicando ese número por el factorial del número inmediatamente anterior.

💡Factorial

El factorial de un número entero positivo n, denotado como n!, es el producto de todos los números enteros positivos menores o iguales a n. En el guion, el factorial se usa para demostrar la implementación de una función recursiva, donde se calcula el factorial de un número mediante la multiplicación de ese número por el factorial del número anterior.

💡Condición base

La condición base es una instancia especial de una función recursiva que define cuándo la recursión debe detenerse. Es fundamental para evitar bucles infinitos y asegurar que la función se complete. En el video, el caso base se establece cuando el número es igual a 1, ya que el factorial de 1 es 1, y se utiliza para detener la recursión.

💡Caso recursivo

El caso recursivo es la parte de una función recursiva donde la función llama a sí misma con un argumento modificado para acercarse al caso base. Es la forma en que la función progresa hacia una solución. En el ejemplo del factorial, el caso recursivo se muestra cuando se multiplica el número por el factorial del número anterior, como en 'n * factorial(n-1)'.

💡Visual Studio

Visual Studio es un entorno de desarrollo integrado (IDE) que se utiliza para escribir, compilar y depurar programas. En el guion, se menciona que el programa se está escribiendo en Visual Studio, lo que indica que se está utilizando este IDE para desarrollar el código de las funciones recursivas.

💡Consola

La consola es una interfaz de línea de comandos que permite a los usuarios interactuar con el sistema o programa. En el video, la consola se utiliza para pedir al usuario que ingrese un número para calcular su factorial y para mostrar el resultado final del cálculo.

💡Depuración

La depuración es el proceso de identificar y corregir errores en un programa. En el guion, se menciona la depuración como una forma de entender paso a paso cómo se ejecuta la función recursiva y cómo se llega al resultado final del factorial.

💡Casting

El casting es el proceso de convertir un valor de una tipo de datos a otro. En el script, se hace casting de la entrada del usuario desde un tipo de cadena (string) a un tipo numérico (int) para poder realizar operaciones aritméticas con el valor ingresado.

💡Bucle infinito

Un bucle infinito es una situación en la que un programa se repite indefinidamente porque no hay una condición de salida clara. En el contexto de las funciones recursivas, es crucial definir una condición base para evitar bucles infinitos y asegurar que la función se complete. Aunque no se menciona directamente en el guion, es un concepto clave relacionado con la recursividad.

💡Ejercicio práctico

El ejercicio práctico es una actividad diseñada para aplicar y reforzar la comprensión de un concepto o habilidad. En el video, el cálculo del factorial se utiliza como un ejercicio práctico para enseñar cómo se implementan las funciones recursivas, permitiendo al espectador ver la aplicación directa de la teoría en una tarea programática.

Highlights

Introducción al concepto de funciones recursivas.

Definición de una función recursiva como aquella que se llama a sí misma durante su ejecución.

Importancia de las funciones recursivas para resolver problemas complejos.

Ejemplo práctico: calcular el factorial de un número usando una función recursiva.

Explicación de la notación factorial y su representación matemática.

Visualización de ejemplos de factoriales para números enteros positivos.

Programación de una función recursiva en Visual Studio para calcular factoriales.

Declaración de una función 'factorial' que devuelve un número entero.

Implementación de un caso base en la función recursiva para evitar errores.

Uso de la multiplicación en la función recursiva para calcular el factorial.

Invocación de la función 'factorial' dentro de sí misma para el cálculo recursivo.

Interacción con el usuario para ingresar el número cuyo factorial se desea calcular.

Conversión y validación de la entrada del usuario para su uso en la función.

Llamada a la función 'factorial' con el número ingresado por el usuario.

Almacenamiento y visualización del resultado del factorial en la consola.

Depuración del código para entender paso a paso cómo se ejecuta la función recursiva.

Análisis detallado de la ejecución de la función recursiva con ejemplos específicos.

Resultado final del factorial de un número específico y su impresión en la consola.

Conclusión del ejercicio y resúmen de cómo funcionan las funciones recursivas.

Llamado a la acción para suscribirse, dar like y activar notificaciones para contenido futuro.

Transcripts

play00:00

hola programadores cómo están pues hoy

play00:02

vamos a continuar con el curso de

play00:04

programación intermedio por lo que hoy

play00:06

veremos funciones recursivas bien pues

play00:09

qué es una función recursiva son

play00:11

aquellas funciones que se llaman a sí

play00:12

mismo durante su ejecución necesitan

play00:15

invocarse a sí mismo para que termine un

play00:18

proceso dentro de la aplicación entonces

play00:21

vamos a hacer un ejercicio muy simple

play00:22

muy padre con respecto a los números

play00:25

factorial es que son en matemáticas les

play00:28

voy a mostrar cuáles son los números

play00:29

factoriales bien pues tenemos aquí un

play00:32

ejemplo que encontré en internet de los

play00:34

números factorial es donde nos dice que

play00:36

el factorial de un número va a ser igual

play00:39

a su producto de todos los números

play00:41

enteros anteriores

play00:42

aquí se el factorial de un número entero

play00:43

positivo es el producto de todos los

play00:45

números enteros menores o igual que el y

play00:48

se nota con el símbolo de exclamación

play00:50

por ejemplo el factorial del número 4 se

play00:52

expresa como 4 factorial y es igual a 24

play00:55

aquí con la imagen lo vemos más claro

play00:57

por ejemplo el factorial de 2 es 2 por

play01:00

su número anterior que sería 12 por 12

play01:03

el factorial de 3 sería 3 por 2 por 1

play01:06

eso nos va a dar 6 el factorial de 4 es

play01:09

4 por 3 por 2 por 1 igual a 24 entonces

play01:14

vamos a programar esto en una función

play01:15

recursiva para que nos arroje el

play01:18

resultado bien pues ya estamos aquí en

play01:20

nuestro visual estudio voy a borrar el

play01:23

ejercicio anterior

play01:29

y esto ya tenemos aquí nuestro visual

play01:31

estudio limpiecito y pues vamos a

play01:33

necesitar declarar una función fuera de

play01:36

nuestra función principal main que se va

play01:39

a llamar

play01:42

factorial entonces static int nos va a

play01:46

devolver un número entero static int

play01:48

factorial

play01:52

que va a recibir

play01:55

como parámetro un número entero

play02:01

aquí tengo que retornar algo bien antes

play02:05

de que retorne algo

play02:07

primero voy a ponerle mientras para que

play02:10

no dé error un retrato cero voy a hacer

play02:12

un id

play02:15

si número es igual a 1 puede ser un

play02:20

rector 1

play02:24

sí no

play02:27

els tengo que hacer número

play02:32

x

play02:33

factorial

play02:38

de número

play02:40

-1 aquí le vamos a poner el return

play02:43

número x factorial de número menos 1

play02:46

como ven aquí estoy invocando nuevamente

play02:49

la función de factorial entonces quiere

play02:52

decir que mientras mi número no sea uno

play02:55

os el factorial de uno va va a seguirse

play02:58

ejecutando la función de factorial va a

play03:00

estar multiplicando el número que

play03:02

ingresó por su factorial del valor menos

play03:06

uno

play03:07

bien entonces solo me falta aquí en la

play03:10

función principal mandar a ejecutar ese

play03:14

factorial

play03:15

le voy a pedir al usuario

play03:21

voy a pedir al usuario que ingresa el

play03:25

número que quieres calcular su factorial

play03:31

ingresa el número que quieres calcular

play03:33

su factorial

play03:35

entonces voy a hacer un cónsul punto

play03:40

read line

play03:42

y una vez que ingresé ese valor

play03:46

va a ser interno mero iguala con sol

play03:49

punto red line pero lo tenemos que

play03:51

castigar

play03:54

convert punto en 32 el cónsul read line

play04:02

y ahora sí con el número que nos ingrese

play04:04

el usuario vamos a ejecutar la función

play04:07

factorial entonces solamente llamó a

play04:09

factorial

play04:12

y pongo aquí el número que ingresó el

play04:15

usuario

play04:17

bien pues vamos a ejecutarlo aunque aquí

play04:22

estoy devolviendo el valor del número

play04:25

factorial tengo que guardar ese valor en

play04:28

una variable para poder imprimirlo

play04:30

entonces vamos a poner int none

play04:33

factorial va a ser igual a factorial

play04:37

número y hay que hacer un cónsul punto

play04:40

write line

play04:45

el factorial de

play04:50

y voy a agregar un número

play04:54

igual

play04:58

vamos a agregar el resultado no un

play05:01

factorial

play05:06

ahora sí factorial de es igual a vamos a

play05:10

imprimir lo vamos a ejecutar nuestra

play05:13

aplicación y vamos a ver que nos arroja

play05:17

ingresa el número que quieres calcular

play05:19

su factorial vamos a ingresar el 4

play05:22

el factorial de 4 es igual a 24 y listo

play05:27

ya está nuestro programa vamos a depurar

play05:29

lo para ver lo paso a paso para ver cómo

play05:32

es que se está ejecutando esta función

play05:34

los voy a poner aquí en mi punto de

play05:36

depuración ejecutamos y vamos paso a

play05:40

paso ingresa el número que quieres

play05:42

calcular su factorial entonces ahí me va

play05:44

a pedir en consola que ingrese el número

play05:46

vamos a ingresar el 3

play05:51

entonces ingresó el 3 entra a la función

play05:55

factorial

play05:56

aquí está número igual a 3 entonces cómo

play05:59

entra dentro del if en la función

play06:01

factorial y evalúa 3 es igual que uno no

play06:04

entonces lo que va a hacer es retornar

play06:06

la multiplicación de 3 por el factorial

play06:10

d en este caso va a ser el factor yalde

play06:13

2 que dos sería el factor yalde 2 tiene

play06:16

que ser 2 por 1

play06:20

y como estamos volviendo a llamar a la

play06:22

función de factorial

play06:24

se va a regresar

play06:28

al inicio a través de factorial pero

play06:30

como pueden ver miren aquí tiene un

play06:31

número 22 centro ahora con el 2

play06:36

y dice 2 x factorial de en este caso

play06:41

sería uno va a entrar con 1 y entonces

play06:44

va a decir 1 es igual que uno sí

play06:46

entonces nos va a regresar 1 y todo ese

play06:49

ciclo que que se había se tiene que

play06:51

cumplir donde el 3 tiene que multiplicar

play06:53

a factorial de 2 y 2 tiene que

play06:55

multiplicar a factorial de 1 entonces al

play06:57

final va a quedar 3 por 2 por 1 y es lo

play07:00

que nos va a arrojar el resultado final

play07:03

vean aquí está entrando al 1 se sale de

play07:07

la función

play07:09

y vean nos marca otra vez aquí cuál va a

play07:11

ser el valor que va a retornar aquí

play07:14

tenemos

play07:16

número 2 número 2 siguiente

play07:21

está haciendo la la recursión por eso

play07:24

son funciones recursivas porque ya fue

play07:27

hasta el inicio donde arme retorno 1 y

play07:29

entonces está haciendo la recursión para

play07:31

hacer la multiplicación del 2 por el

play07:33

factorial de 1 y después el 3 por el

play07:36

factorial de 2 que fue por los datos y

play07:39

todo el proceso que ya vimos que leyó

play07:42

al final como pueden ver

play07:46

y aquí no se está retornando el valor de

play07:49

6

play07:50

número factorial es igual a 6

play07:54

y vamos a hacer su impresión el

play07:56

factorial de número que es 3 es igual a

play08:00

6

play08:03

le damos siguiente

play08:07

siguiente

play08:09

y aquí nos muestra ya en la consola el

play08:11

factorial de 3 es igual a 6 vamos a ver

play08:14

si es verdad eso

play08:17

factorial de 3

play08:21

ahí está el factor y'all de 3 es igual a

play08:23

6 vamos a hacer una última prueba vamos

play08:28

a ejecutar nuestro código nuevamente y

play08:30

ahora vamos a pedirle que deje el punto

play08:32

de depuración

play08:36

quitamos el punto de depuración

play08:38

ejecutamos nuevamente y ahora vamos a

play08:40

decirle que haga el factorial de 6

play08:43

el factorial de 6 es igual a 720 porque

play08:46

es 6 por 5 por 4 por 3 por 2 por 1

play08:49

entonces vamos a ponerle factorial de

play08:52

factorial de 6

play08:55

720 y listo pues este fue un ejercicio

play08:59

muy simple para que se puedan entender

play09:02

lo que son las funciones recursivas

play09:04

espero que haya quedado muy claro ya que

play09:06

aquí como vemos lo que realmente pasa es

play09:09

que la función se vuelve a ejecutar a sí

play09:11

misma hasta llegar a un resultado y

play09:14

bueno si les gustó el vídeo no olviden

play09:16

suscribirse darle like y activar la

play09:18

campanita de notificaciones para que

play09:20

estén enterados de todos los vídeos

play09:22

nuevos que voy subiendo y así puedan ir

play09:24

al día también con el curso intermedio

play09:26

de programación

play09:27

nos vemos en un próximo vídeo

Rate This

5.0 / 5 (0 votes)

Related Tags
ProgramaciónFunciones RecursivasFactorialEjercicioVisual StudioCastingConsolaDepuraciónTutorialProgramadores
Do you need a summary in English?