Вы находитесь на странице: 1из 3

FUNCIONES RECURSIVAS

Las funciones recursivas son tcnicas de programacin que pueden ser usadas en lugar
de la iteracin.
Una funcin que se llama a s misma se denomina recursiva. Ejemplo:

Las funciones recursivas primitivas se obtienen a partir del bucle definido expresado
mediante la recursin matemtica
Es importante recordar que no todas la funciones pueden llamarse a si mismas, deben
estar diseadas para comportarse de manera recursiva, de otro modo dichas funciones
podran conducir a bucles infinitos, o a que el programa termine inadecuadamente.
Los mdulos se hacen llamadas recursivas y puede usar en toda situacin en la cual la
solucin pueda ser expresada como una secuencia de movimientos, pasos o
transformaciones gobernadas por un conjunto de reglas no ambiguas.

mbito de Aplicacin

- General
- Problemas cuya solucin se puede hallar solucionando el mismo problema pero
con un caso de menor tamao.

Razones de uso
- Problemas casi irresolubles con las estructuras iterativas.
- Soluciones elegantes

Soluciones ms simples
- Condicin necesaria : asignacin dinmica de memoria

Estructura de una funcin o procedimiento recursivo


Una funcin recursiva siempre tiene dos partes fundamentales: la condicin de corte
y la llamada recursiva.
- La llamada recursiva va a ser la que va a invocar nuevamente a la funcin
para que se siga ejecutando.
- La condicin de corte, va a ser la encargada de frenar esa recursividad.
Hay que tener en cuenta que cuando se invoca a un procedimiento recursivo, no solo
se necesita espacio en memoria para l, sino tambin para todas sus llamadas
recursivas.
Por ejemplo, si queremos calcular recursivamente el factorial de 1000, se requiere 4
bytes para el valor de n.
Propiedades de los algoritmos recursivos
La idea bsica de la recursividad es definir una funcin en trminos de s misma y
reducirla hasta alcanzar un caso nico (caso base) en el que los trminos no involucran
a la funcin.
Sin una salida no recursiva, la funcin recursiva no podra ser calculada. Alguna
instancia de la definicin recursiva debe eventualmente reducirse a la manipulacin de
uno o ms casos simples no recursivos.
Tipos de Recursividad
En programacin existen dos tipos de recursividad: directa o indirecta.

Recursividad Directa: La recursividad directa es cuando un procedimiento o una


funcin se llaman a s mismas.
La recursividad indirecta es cuando un procedimiento o funcin invoca a otro
procedimiento o funcin, y este ltimo vuelve a invocar al primero.
Ventajas y desventajas de la recursividad
Ventajas
Las funciones recursivas son mecanismo muy eficientes de programacin
Facilitan el diseo de un proceso.
Para el caso de la funcin factorial parece ser una buena medida el empleo de
recursividad.
Desventaja

la recursividad no es en todos los casos un buen modo de resolver problemas,


Un algoritmo iterativo resolvera de manera bastante adecuada un problema
determinado.
consume recursos adicionales de memoria y tiempo de ejecucin,
Debe ser aplicada a funciones que realmente obtengan beneficio directo.
Creacin de muchas variables.
EJEMPLO DE FUNCIONES RECURSIVAS EN PHYTON
1. Triangulo de pascal
2. Nmeros primos del 100

Referencia
Soriano G, 2009. Procedimientos, Funciones y Recursividad
Lopez, G. 2008. Tema 3. Recursin. Universidad de Alicante. Alicante - Espaa

Вам также может понравиться