Documente Academic
Documente Profesional
Documente Cultură
FACULTAD DE INGENIERIA
PRACTICA 13
RECURSIVIDAD
Tipos de recursin
Recursividad simple
Aquella en cuya definicin slo aparece una llamada recursiva. Se puede transformar con
facilidad en algoritmos iterativos.
Recursividad mltiple
Se da cuando hay ms de una llamada a s misma dentro del cuerpo de la funcin, resultando
ms difcil de hacer de forma iterativa. Un ejemplo tpico es la funcin de Fibonacci.
Recursividad anidada
En algunos de los argumentos de la llamada recursiva hay una nueva llamada a s misma. La
funcin de Ackermann se define por recursividad como sigue:
Recursividad cruzada o indirecta
Son algoritmos donde una funcin provoca una llamada a s misma de forma indirecta, a travs
de otras funciones.
Algunos ejemplos de recursividad son:
*Programar un algoritmo recursivo que permita hacer la divisin por restas sucesivas.
->Declarar dos nmeros enteros a y b
->Es b mayor que a? Caso afirmativo se devuelve un 0, Caso Contrario se devuelve la divisin
de (a-b/b)+1.
->Fin.
Programar un algoritmo recursivo que permita sumar los dgitos de un nmero. Ejemplo:
Entrada: 123 Resultado:6
->Declarar un numero entero n.
->n es igual a 0?(caso base) Si es afirmativo devuelve a n. Caso contrario delvuelve la suma
(n/10)+ residuo(n/10).
->Fin.
Obtener el factorial de un numero:
->Llamar a la funcin fact.
->Declarar un numero entero n.
->Es n menor a 2? Afirmativo: Devuelve 1. Caso contrario: Devuelve n*fact_recursivo(n-1)
->Fin.
Serie de Fibonacci:
->Llamar a funcin Fib.
->Declarar un entero n.
->Es n = 1? Afirmativo: Devuelve 0.
->Es n=2 n=3? Afirmativo Devuelve 1.
->Devuelve Fib_Recur(n-1)+Fib_Recur(n-2) //Llamada a la misma funcin con nuevos valores a
partir de n.
->Fin