Estructura de datos 
Unidad II 
Recursividad 
Rubi veronica chimal Cuxin.
Introducción 
Comprender y aplicar la recursividad como herramienta de programación para el 
manejo de las estructuras de ...
Código 
El factorial de un entero n, se expresa como un conjunto de productos: 
n * (n-1) * (n-2) * …… * 1 
Escribiendo el...
Si número es en verdad menor que o igual a 1 factorial regresa 1, ya no es 
necesaria mayor recursión y el programa termin...
Conclusión 
En los programas se han analizado e implementado funciones que llaman unas a 
otras. Para algunos tipos de pro...
Próxima SlideShare
Cargando en…5
×

Informe Técnico - Recursividad Unidad 2 (Rubi Veronica)

440 visualizaciones

Publicado el

Informe Técnico - Recursividad Unidad 2 (Rubi Veronica)

Publicado en: Educación
0 comentarios
0 recomendaciones
Estadísticas
Notas
  • Sé el primero en comentar

  • Sé el primero en recomendar esto

Sin descargas
Visualizaciones
Visualizaciones totales
440
En SlideShare
0
De insertados
0
Número de insertados
3
Acciones
Compartido
0
Descargas
2
Comentarios
0
Recomendaciones
0
Insertados 0
No insertados

No hay notas en la diapositiva.

Informe Técnico - Recursividad Unidad 2 (Rubi Veronica)

  1. 1. Estructura de datos Unidad II Recursividad Rubi veronica chimal Cuxin.
  2. 2. Introducción Comprender y aplicar la recursividad como herramienta de programación para el manejo de las estructuras de datos es indispensable pues en la carrera de un Ing. En sistemas computacionales podemos consultar en fuentes impresas el concepto de recursividad así se puede ejemplificar un caso recursivo de la vida cotidiana como calcular el Factorial de un número entero positivo. Para poder entenderle por completo hay que realizar varios ejercicios para poder identificar problemas resueltos de manera iterativa y encontrar su solución recursiva mediante codificación en algún lenguaje de programación así como analizar las ventajas y desventajas que este pudiese tener.
  3. 3. Código El factorial de un entero n, se expresa como un conjunto de productos: n * (n-1) * (n-2) * …… * 1 Escribiendo el código en lenguaje C usando el ciclo for es de la siguiente manera: int i, factorial; factorial=1; for(i=numero;i>=1;i--) factorial*= i; Por ejemplo 5!, claramente es lo mismo que 5*4!, como se muestra mediante el siguiente: 5!=5 5!=5*(4*3*2*1) 5!=5*(4!) En la figura mostrada a continuación muestra la sucesión de llamadas recursivas continúa hasta que 1! Se evalúa al valor 1, lo que termina la recursión. En la figura del lado derecho se muestran los valores regresados por cada llamada recursiva a su llamador, hasta que el valor final es calculado y regresado. La función recursiva factorial primero prueba para ver si una condición de terminación es verdadera, es decir, es número menor que o igual a 1.
  4. 4. Si número es en verdad menor que o igual a 1 factorial regresa 1, ya no es necesaria mayor recursión y el programa termina. El código sería el siguiente: using System; namespace ConsoleApplication14 { /// <summary> /// Esta clase /// <SUMMARY> class factorial { int numero; int fact(int num) { numero=num; if(numero<=1) return 1; else return(numero*fact(numero-1)); } [STAThread] static void Main(string[] args) { factorial f1=new factorial(); Console.WriteLine("Dame el número para calcular su factorial"); int p,n; n=int.Parse(Console.ReadLine()); p=f1.fact(n); Console.WriteLine("El factorial es:n"); Console.Write(p+"n"); } } }
  5. 5. Conclusión En los programas se han analizado e implementado funciones que llaman unas a otras. Para algunos tipos de problemas, es útil tener funciones que se llamen a sí mismas. Una función recursiva es una función que se llama a sí misma, ya sea directa o indirectamente a través de otra función, esta es llamada para resolver un problema. La función sabe sólo cómo resolver el caso más simple, es decir, el llamado caso base. Si la función es llamada con un problema más complejo, la función divide dicho problema en dos partes conceptuales: una parte que la función ya sabe cómo ejecutar y una parte que la función no sabe cómo ejecutar. Para hacer factible la recursión, esta última parte debe parecerse al problema original, la función llama a una copia nueva de sí misma, para que empiece a trabajar sobre el problema más pequeño y esto se conoce como una llamada recursiva y también se llama el paso de recursión. El paso de recursión también incluye la palabra reservada return, porque el resultado será combinado con la parte del problema que la función supo cómo resolver para formar un resultado que será regresado al llamador original, posiblemente main.

×