Las transparencias ofrecen una visión clara y concisa de un concepto fundamental en la ciencia de la computación. En estas diapositivas, exploramos cómo las funciones pueden llamarse a sí mismas, lo que da lugar a un proceso poderoso y elegante llamado recursividad.
2. Recursividad
Una función recursiva es aquella que se define a partir de ella misma.
es una técnica de programación que busca resolver un problema
sustituyéndolo por otros problemas de la misma categoría, pero más
simples implementando un algoritmo recursivo.
Un algoritmo es recursivo si dentro del cuerpo del algoritmo y de forma
directa o indirecta se realiza una llamada a él mismo..
“El uso de la recursión brinda la oportunidad de demostrar lo inteligente
que eres, al tiempo que dificulta las cosas a todos los demás que tienen que
trabajar en el código.”
3. Para escribir una función recursiva, se deben cumplir 3 condiciones:
1.Debe haber al menos un caso base de parada
2.Inducción: Paso recursivo que provoca una llamada recursiva Debe
ser correcto para distintos parámetros de entrada
3.Convergencia: Cada paso recursivo debe acercar a un caso base. Se
describe el problema en términos de problemas más sencillos
El caso base es cualquier expresión donde le dice a la función cuándo
dejar de llamarse a sí misma. Si no tiene un caso base, la recursión
producirá un bucle infinito.
4. USO DE FUNCIONES RECURSIVAS
Las llamadas a funciones recursivas pueden usarse para actividades
que son recursivas por naturaleza y que tienen las siguientes
características.
• Cuando los problemas son mas cercanos a la descripción
matemática.
• Cuando su lectura es mas fácil de analizar
• En estructuras que se adaptan mejor a estructuras de datos
recursivas.
• Los algoritmos recursivos ofrecen soluciones estructuradas,
modulares y elegantemente simples
5. EJEMPLO
#include <stdio.h>
long fact(int n)
{
if (n == 1)
return 1;
return n * fact(n - 1);
}
int main()
{
int num;
printf("Introduzca un número entero: ");
scanf("%d", &num);
printf("Su factorial es: %ldn", fact(num));
return 0;
}
6. BIBLIOGRAFIA
Blog, E. (2019, mayo 20). Recursión en C++. Ethical Hack - Blog.
https://ehack.info/recursion-en-c/
Cabanes, P. N. (s/f). C++ - 9.8. Recursividad - Aprendeaprogramar.com.
Aprendeaprogramar.com. Recuperado el 7 de agosto de 2023, de
https://www.aprendeaprogramar.com/cursos/verApartado.php?id=1
6902