onbra

Páginas: 4 (807 palabras) Publicado: 24 de octubre de 2013
Recursividad
Nota: Este es un tema bastante avanzado, y para la mayor parte de las aplicaciones no será necesario que conozcas absolutamente nada de él. En algunas ocasiones es tan útil que sevuelve invaluable su utilización, por esta razón lo incluyo en este tutorial para que lo conozcas. Por favor, no enloquezcas si no lo entendés de entrada.
¿De qué se trata?
A pesar de lo que dije antesde que los bucles son uno de los pilares fundamentales de la programación, sin embargo, es posible construir programas sin utilizarlos. Algunos lenguajes como Lisp, no tienen una construcciónexplícita de bucles tal como FOR, WHILE, etc., sino que utilizan una técnica de programación conocida como recursividad. Esta resulta ser una técnica muy poderosa para la solución de determinados problemas,así que ahora le daremos un vistazo.
La recursividad simplemente significa aplicar una función como parte de la definición de esa misma función.
La clave de funcionamiento es que obligatoriamentedebe existir una condición terminal con el objeto de que la función se bifurque hacia una resolución no recursiva en algún punto. De lo contrario, la función entra en un bucle infinito y nunca finaliza.Veamos un ejemplo sencillo. La función matemática factorial se define como el producto de todos los números hasta el argumento inclusive. El factorial de 1 es 1. Si pensamos un poco, nos daremoscuenta de que tenemos otra manera de expresar esta función: el factorial de N es igual a N veces el factorial de N-1.
Por lo tanto:
1! = 1
2! = 1 x 2 = 2
3! = 1 x 2 x 3 = 2! x 3 = 6
N! = 1 x 2 x 3x.... (N-2) x (N-1) x N = (N-1)! x N
En Python podemos expresar esto así:
def factorial(n):
if n == 1:
return 1
else:
return n * factorial(n-1)
Dado que restamos unode N cada vez y comprobamos si es igual a uno, la función no es infinita y puede completarse correctamente.
Escribir la función del factorial sin utilizar la recursividad implica el desarrollo de...
Leer documento completo

Regístrate para leer el documento completo.

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS