Introducción<br />Complejidad <br />Análisis asintótico<br />Formulación de algoritmos<br />Conclusiones y recomendaciones...
Introducción<br />Complejidad <br />Análisis asintótico<br />Formulación de algoritmos<br />Conclusiones y recomendaciones...
Introducción<br />Complejidad <br />Análisis asintótico<br />Formulación de algoritmos<br />Conclusiones y recomendaciones...
Introducción<br />Complejidad <br />Análisis asintótico<br />Formulación de algoritmos<br />Conclusiones y recomendaciones...
Introducción<br />Complejidad <br />Análisis asintótico<br />Formulación de algoritmos<br />Conclusiones y recomendaciones...
Introducción<br />Complejidad <br />Análisis asintótico<br />Formulación de algoritmos<br />Conclusiones y recomendaciones...
Introducción<br />Complejidad <br />Análisis asintótico<br />Formulación de algoritmos<br />Conclusiones y recomendaciones...
Introducción<br />Complejidad <br />Análisis asintótico<br />Formulación de algoritmos<br />Conclusiones y recomendaciones...
Introducción<br />Complejidad <br />Análisis asintótico<br />Formulación de algoritmos<br />Conclusiones y recomendaciones...
Introducción<br />Complejidad <br />Análisis asintótico<br />Formulación de algoritmos<br />Conclusiones y recomendaciones...
For->Cuando se sabe el numero de veces a repetir el algoritmo.
Upcoming SlideShare
Loading in …5
×

Proyecto 3 Computo del factorial

697 views

Published on

es el proyecto de la clase de algoritmos con Elisa Scheaffer

Published in: Education, Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
697
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
4
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Proyecto 3 Computo del factorial

  1. 1. Introducción<br />Complejidad <br />Análisis asintótico<br />Formulación de algoritmos<br />Conclusiones y recomendaciones<br />PROYECTO 3<br />COMPUTO DEL FACTORIAL n!<br />OsvaldoJavier Hinojosa | Ricardo Tovar | Jose Luis Valdes | Raul Guerrero<br />1452344146343913666741330260<br />
  2. 2. Introducción<br />Complejidad <br />Análisis asintótico<br />Formulación de algoritmos<br />Conclusiones y recomendaciones<br />PROYECTO 3<br />COMPUTO DEL FACTORIAL n!<br />Iteración<br />Usar la iteración en el computo de factoriales es repetir la funcionalidad del programa el número de veces necesarias por el usuario sin salir de este, hasta que se desee.<br />
  3. 3. Introducción<br />Complejidad <br />Análisis asintótico<br />Formulación de algoritmos<br />Conclusiones y recomendaciones<br />PROYECTO 3<br />COMPUTO DEL FACTORIAL n!<br />Recursión<br />Usar la recursión en el computo de factoriales es simplificar el algoritmo hasta un punto en el que se pueda resolver (caso base).<br />
  4. 4. Introducción<br />Complejidad <br />Análisis asintótico<br />Formulación de algoritmos<br />Conclusiones y recomendaciones<br />PROYECTO 3<br />COMPUTO DEL FACTORIAL n!<br />Complejidad computacional<br />Hoy en día las computadoras resuelven problemas mediante algoritmos que tienen como máximo una complejidad o coste computacional polinómico, es decir, la relación entre el tamaño del problema y su tiempo de ejecución es polinómica. Éstos son problemas agrupados en la clase P. Los problemas que no pueden ser resueltos por nuestras computadoras (las cuales son Máquinas Determinísticas), que en general poseen costes factorial o combinatorio pero que podrían ser procesados por una máquina no-determinista, están agrupados en la clase NP. Estos problemas no tienen una solución práctica, es decir, una máquina determinística (como una computadora actual) no puede resolverlos en un tiempo razonable.<br />
  5. 5. Introducción<br />Complejidad <br />Análisis asintótico<br />Formulación de algoritmos<br />Conclusiones y recomendaciones<br />PROYECTO 3<br />COMPUTO DEL FACTORIAL n!<br />Algoritmo iterativo<br />
  6. 6. Introducción<br />Complejidad <br />Análisis asintótico<br />Formulación de algoritmos<br />Conclusiones y recomendaciones<br />PROYECTO 3<br />COMPUTO DEL FACTORIAL n!<br />Pseudocódigo iterativo<br />#include <stdio.h><br />long int factorial (int x) /*definición de función*/<br /> {<br />inti;<br /> long intfac = 1;<br /> for (i=2; i<=x; i=i+1) fac=fac*i;<br /> return (fac);<br /> } <br /> main () /* función principal */<br /> {<br />int a;<br /> do<br /> {<br />printf (" Introduce el numero ");<br />scanf ("%d", &a);<br /> if (a>0) <br />printf ("El factorial es %ld", factorial (a));<br />} while (a > 0);<br /> }<br />Link al programa<br />
  7. 7. Introducción<br />Complejidad <br />Análisis asintótico<br />Formulación de algoritmos<br />Conclusiones y recomendaciones<br />PROYECTO 3<br />COMPUTO DEL FACTORIAL n!<br />Algoritmo recursivo<br />5! = 5 (4!)<br />5(24)=120<br />4! = 4 (3!)<br />4(6)=24<br />3! = 3 (2!)<br />3(2)=6<br />2! = 2 (1!)<br />2(1)=2<br />1! = 1 (0!)<br />1(1)=1<br />0! = 1<br />
  8. 8. Introducción<br />Complejidad <br />Análisis asintótico<br />Formulación de algoritmos<br />Conclusiones y recomendaciones<br />PROYECTO 3<br />COMPUTO DEL FACTORIAL n!<br />¿Recursión? <br />Desventajas<br />Ventajas<br />Soluciones simples y claras<br />Soluciones elegantes<br />Soluciones a problemas complejos<br />INEFICIENCIA<br />Sobrecarga<br />Costo mayor en tiempo y memoria<br />
  9. 9. Introducción<br />Complejidad <br />Análisis asintótico<br />Formulación de algoritmos<br />Conclusiones y recomendaciones<br />PROYECTO 3<br />COMPUTO DEL FACTORIAL n!<br />¿Recursión o iteración?<br />LA RECURSIVIDAD SE DEBE USAR CUANDO SEA REALMENTE NECESARIA, ES DECIR, CUANDO NOEXISTA SOLUCIÓN ITERATIVA SIMPLE.<br />
  10. 10. Introducción<br />Complejidad <br />Análisis asintótico<br />Formulación de algoritmos<br />Conclusiones y recomendaciones<br />PROYECTO 3<br />COMPUTO DEL FACTORIAL n!<br />Recomendaciones<br /><ul><li>Es muy útil usar la iteración con las estructuras fory while en la creación del pseudocodigo.
  11. 11. For->Cuando se sabe el numero de veces a repetir el algoritmo.
  12. 12. While->Cuando no se sabe el numero de veces a repetir el algoritmo.</li></li></ul><li>Introducción<br />Complejidad <br />Análisis asintótico<br />Formulación de algoritmos<br />Conclusiones y recomendaciones<br />PROYECTO 3<br />COMPUTO DEL FACTORIAL n!<br />Bibliografia<br /><ul><li>http://seneca.cucea.udg.mx/curso_linea/ProgramacionI/Modulo4%20Seccion2.pdf
  13. 13. http://www.lcc.uma.es/~lopez/modular/recursion/transp_recursion.pdf
  14. 14. http://www.di.uniovi.es/~dani/asignaturas/transparencias-leccion14.PDF
  15. 15. http://ocw.uc3m.es/informatica/programacion/transparencias/tema7.pdf
  16. 16. http://lineadecodigo.com/java/factorial-de-un-numero/
  17. 17. http://es.wikipedia.org/wiki/Factorial
  18. 18. http://es.wikipedia.org/wiki/An%C3%A1lisis_factorial
  19. 19. http://www.di.uniovi.es/~dani/asignaturas/apuntes-leccion6.PDF
  20. 20. http://www.it.uc3m.es/java/prog/units/recursion-complejidad/guides/1/guide_es.html
  21. 21. Matemáticas discretas. Sexta edición. Johnsonbaugh, Richard. Pearson educación México 2005. ISBN 970-26-063-3
  22. 22. Algoritmos computacionales, introduccion al análisis y diseño. Tercera edicion. Baase, Sara y GelderAllenvan. Pearsoneducacion México 2002. ISBN 970-26-0142-8</li>

×