recursividad

Páginas: 5 (1014 palabras) Publicado: 19 de abril de 2013
Introducción
El área de la programación es muy amplia y con muchos detalles. Los programadores necesitan ser capaces de resolver todos los problemas que se les presente a través del computador aun cuando en el lenguaje que utilizan no haya una manera directa de resolver los problemas. En el lenguaje de programación C, así como en otros lenguajes de programación, se puede aplicar una técnica quese le dio el nombre de recursividad por su funcionalidad. Esta técnica es utilizada en la programación estructurada para resolver problemas que tengan que ver con la factorial de un número, o juegos de lógica. Las asignaciones de memoria pueden ser dinámicas o estáticas y hay diferencias entre estas dos y se pueden aplicar las dos en un programa cualquiera.

La recursividad es una técnica deprogramación importante. Se utiliza para realizar una llamada a una función desde la misma función. Primero debemos decir que la recursividad no es una estructura de datos, sino que es una técnica de programación que nos permite que un bloque de instrucciones se ejecute n veces. Remplaza en ocasiones a estructuras repetitivas. La recursividad y la iteración (ejecución en bucle) están muyrelacionadas, cualquier acción que pueda realizarse con la recursividad puede realizarse con iteración y viceversa. Normalmente, un cálculo determinado se prestará a una técnica u otra, sólo necesita elegir el enfoque más natural o con el que se sienta más cómodo. Claramente, esta técnica puede constituir un modo de meterse en problemas. Es fácil crear una función recursiva que no llegue a devolver nunca unresultado definitivo y no pueda llegar a un punto de finalización. Este tipo de recursividad hace que el sistema ejecute lo que se conoce como bucle "infinito". Para entender mejor lo que en realidad es el concepto de recursión veamos un poco lo referente a la secuencia de Fibonacci: donde se comienza con dos números F1=1 y F2=1, y donde el tercer número F3, será la suma de F1 y F2, estoconstituye a los primeros 3 números de la suma (1,1,2…) para el cuarto número F1 tomara el valor de 1, y F2 tomara el valor de 2, entonces F3 será igual a 3, y la serie continuaría de esta forma 1,1,2,3… entonces la quinta posición seria el resultado de la suma de la cuarta y la tercera, la sexta posición seria la suma de la quinta y la cuarta, y así sucesivamente. (1,1,2,3,5,8,13,21…).

Característicasde recursividad:
Un algoritmo recursivo consta de una parte recursiva, otra iterativa o no recursiva y una condición de terminación. La parte recursiva y la condición de terminación siempre existen. Un requisito importante para que sea correcto un algoritmo recursivo es que no genere una secuencia infinita de llamadas así mismo. Claro que cualquier algoritmo que genere tal secuencia no terminanunca. Una función recursiva f debe definirse en 6 términos que no impliquen a f al menos en un argumento o grupo de argumentos. Debe existir una "salida" de la secuencia de llamadas recursivas. Si en esta salida no puede calcularse ninguna función recursiva. Cualquier caso de definición recursiva o invocación de un algoritmo recursivo tiene que reducirse a la larga a alguna manipulación de uno ocasos más simples no recursivos.




Tipos de recursividad:
Recursión directa. Cuando el código F tiene una sentencia que involucra a F.
Recursión indirecta o cruzada. Cuando la función F involucra una función G que invoca a la ves una función H, y así sucesivamente, hasta que se involucra la función F. Por ejemplo el algoritmo de Par o impar.
Recursión simple. Aquella en cuya función soloaparece una llamada recursiva. Se puede transformar con facilidad en algoritmos iterativos.
Recursión múltiple. Se da cuando hay más de una llamada a sí misma dentro del cuerpo de la función, resultando más difícil de transformar a iterativa. Por ejemplo el algoritmo de Fibonacci.
Recursión anidada. En algunos de los argumentos de la llamada hay una nueva llamada a sí misma.
Recursión...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Recurso
  • recursos
  • recursividad
  • Recursos
  • Recursos
  • Recurso
  • Recursos
  • recursos

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS