RECURSIVIDAD
Se dice que un Objeto es recursivo cuando forma parte de recursivo s
mismo. Permite definir un nmero infinito de objetos mediante un
enunciado finito.
La recursividad es la propiedad que tienen los procedimientos y
funciones de llamarse a s mismos para resolver un problema. Permite
describir un nmero infinito de operaciones de clculo mediante sin un
programa recursivo finito implementar de forma explcita estructuras
repetitivas.
La recursividad es una tcnica de programacin importante. Se utiliza
para realizar una llamada a una funcin desde la misma funcin. Como
ejemplo til se puede presentar el clculo de nmeros factoriales. l
factorial de 0 es, por definicin, 1. Los factoriales de nmeros mayores
se calculan mediante la multiplicacin de 1 * 2 * ..., incrementando el
nmero de 1 en 1 hasta llegar al nmero para el que se est calculando
el factorial.
La recursividad y la iteracin (ejecucin en bucle) estn muy
relacionadas, cualquier accin que pueda realizarse con la recursividad
puede realizarse con iteracin y viceversa. Normalmente, un clculo
determinado se prestar a una tcnica u otra, slo necesita elegir el
enfoque ms natural o con el que se sienta ms cmodo.
Claramente, esta tcnica puede constituir un modo de meterse en
problemas. Es fcil crear una funcin recursiva que no llegue a devolver
nunca un resultado definitivo y no pueda llegar a un punto de
finalizacin. Este tipo de recursividad hace que el sistema ejecute lo que
se conoce como bucle "infinito"
int funcionRecursiva (int inicio, int limite) {
int retorno;
if (inicio > limite)
retorno = 1;
else
if (inicio == limite)
retorno = 1;
else
retorno = inicio * funcionRecursiva(inicio+1, limite);
return retorno;
{
TIPOS DE RECURSIVIDAD
RECURSIVIDAD SIMPLE
Aquella en cuya definicin slo aparece una llamada recursiva. Se puede
transformar con facilidad en algoritmos iterativos.
Ejemplo para ver cmo funciona la recursividad simple:
define-nueva-instruccion recursiva como inicio
si frente-libre entonces inicio
avanza;
recursiva;
deja-zumbador;
fin;
fin;
...
Lo que esta instruccin hace, es que karel avanzara mientras el frente
este libre entonces la instruccin se llamara a s misma, y la instruccin
deja zumbador se guardar en la pila de llamadas, esto suceder hasta
que el frente deje de estar libre, entonces se ejecutara la instruccin
deja-zumbador; las veces que se haya guardado en la pila de llamadas.