Fundamentos de Programaci n Pr ctica 10 v2

Páginas: 3 (681 palabras) Publicado: 5 de agosto de 2015
Fundamentos de Programación
Práctica N°10
Recursividad
27.04.2015

Objetivos Generales
El objetivo de esta unidad es conocer la manera en la cual se especifica un proceso fundamentado en su
propiadefinición (recursividad).
Objetivos Específicos
Familiarizar al estudiante con la creación y utiización de funciones recursivas.
La recursividad quiere decir aplicar una función como parte de ladefinición de esa misma función. Para su
funcionamiento se requiere de una condición de parada para que la función converja. En caso de no usar la
condición de parada, la función entraría en un cicloinfinito y no terminaría. Solo debe usarse cuando sea
estrictamente necesario y no exista otro método viable, que resuelva el problema evitando el uso de la
recursividad.
El ejemplo clásico para explicareste concepto es por medio de la función matemática factorial. Si
analizamos un poco, tenemos:
0! = 1
1! = 1
2! = 2*1! = 2*1 = 2
3!= 3* 2! = 3* 2*1! = 3*2*1= 6
En términos generales se tendría que:
N! =N*(N-1)!=N*(N-1)*(N-2)!= N*(N-1)*(N-2)*(N-3)! =N*(N-1)*(N-2)*(N-3)*…*1
En código podemos expresarlo de la siguiente manera:
def factorial(n):
if n == 0:
return 1
else:
return n * factorial(n-1)
k =int (input ('Ingrese un numero natural: '))
print (factorial(k))
Página 1 de 3

Fundamentos de Programación | Práctica N° 10

Observe que se ha definido una función denominada “factorial” que se autoinvoca dentro de sí misma.
Al ingresar el código en Python 3.4 se tiente que:

Si se ejecuta el programa y se ingresa el número 6, se obtiene:

El uso del concepto de recursividad permite simplificaren gran medida el uso de código. No obstante, cabe
anotar que el uso de recursividad demanda un gasto excesivo de memoria si se utiliza en estructuras de
datos complejas. La decisión de utilizar o nouna función recursiva depende del lenguaje de programación
que se esté utilizando y del problema que se está tratando de resolver.



Ejercicio 1

Diseñe un programa en Python 3.0 que calcule la...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Pr Ctica N 10 Biolog A A
  • PR CTICO DE FUNDAMENTOS 2
  • Introduccion Fundamentos De Programaci N
  • Fundamentos de programaci n
  • Fundamentos de Programaci n
  • Pr Ctica N 1
  • Fundamentos De Programaci N
  • Pr Ctica N 4

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS