Your SlideShare is downloading. ×
0
Proyecto 3 computo del factorial
Proyecto 3 computo del factorial
Proyecto 3 computo del factorial
Proyecto 3 computo del factorial
Proyecto 3 computo del factorial
Proyecto 3 computo del factorial
Proyecto 3 computo del factorial
Proyecto 3 computo del factorial
Proyecto 3 computo del factorial
Proyecto 3 computo del factorial
Proyecto 3 computo del factorial
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Proyecto 3 computo del factorial

1,236

Published on

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

  • Be the first to like this

No Downloads
Views
Total Views
1,236
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
4
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. PROYECTO 3 COMPUTO DEL FACTORIAL n ! Introducción Complejidad Análisis asintótico Formulación de algoritmos Conclusiones y recomendaciones Osvaldo Javier Hinojosa | Ricardo Tovar | Jose Luis Valdes | Raul Guerrero 1452344 1463439 1366674 1330260
  • 2. Introducción Complejidad Análisis asintótico Formulación de algoritmos Conclusiones y recomendaciones PROYECTO 3 COMPUTO DEL FACTORIAL n ! Iteración 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.
  • 3. Introducción Complejidad Análisis asintótico Formulación de algoritmos Conclusiones y recomendaciones PROYECTO 3 COMPUTO DEL FACTORIAL n ! Recursión Usar la recursión en el computo de factoriales es simplificar el algoritmo hasta un punto en el que se pueda resolver (caso base).
  • 4. Introducción Complejidad Análisis asintótico Formulación de algoritmos Conclusiones y recomendaciones PROYECTO 3 COMPUTO DEL FACTORIAL n ! Complejidad computacional 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.
  • 5. Introducción Complejidad Análisis asintótico Formulación de algoritmos Conclusiones y recomendaciones PROYECTO 3 COMPUTO DEL FACTORIAL n ! Algoritmo iterativo
  • 6.
    • #include <stdio.h>
    • long int factorial (int x) /*definición de función*/
    • {
    • int i;
    • long int fac = 1;
    • for (i=2; i<=x; i=i+1) fac=fac*i;
    • return (fac);
    • }
    • main () /* función principal */
    • {
    • int a;
    • do
    • {
    • printf (&quot; Introduce el numero &quot;);
    • scanf (&quot;%d&quot;, &a);
    • if (a>0)
    • printf (&quot;El factorial es %ld&quot;, factorial (a));
    • } while (a > 0);
    • }
    Introducción Complejidad Análisis asintótico Formulación de algoritmos Conclusiones y recomendaciones PROYECTO 3 COMPUTO DEL FACTORIAL n ! Pseudocódigo iterativo Link al programa
  • 7. Introducción Complejidad Análisis asintótico Formulación de algoritmos Conclusiones y recomendaciones PROYECTO 3 COMPUTO DEL FACTORIAL n ! Algoritmo recursivo 5! = 5 (4!) 4! = 4 (3!) 3! = 3 (2!) 2! = 2 (1!) 1! = 1 (0!) 0! = 1 1(1)=1 2(1)=2 3(2)=6 4(6)=24 5(24)= 120
  • 8. Introducción Complejidad Análisis asintótico Formulación de algoritmos Conclusiones y recomendaciones PROYECTO 3 COMPUTO DEL FACTORIAL n ! ¿Recursión? Desventajas Ventajas Soluciones simples y claras Soluciones elegantes Soluciones a problemas complejos INEFICIENCIA Sobrecarga Costo mayor en tiempo y memoria
  • 9. Introducción Complejidad Análisis asintótico Formulación de algoritmos Conclusiones y recomendaciones PROYECTO 3 COMPUTO DEL FACTORIAL n ! ¿Recursión o iteración? LA RECURSIVIDAD SE DEBE USAR CUANDO SEA REALMENTE NECESARIA, ES DECIR, CUANDO NO EXISTA SOLUCIÓN ITERATIVA SIMPLE.
  • 10. Introducción Complejidad Análisis asintótico Formulación de algoritmos Conclusiones y recomendaciones PROYECTO 3 COMPUTO DEL FACTORIAL n ! Recomendaciones
    • Es muy útil usar la iteración con las estructuras for y while en la creación del pseudocodigo.
    • For -> Cuando se sabe el numero de veces a repetir el algoritmo.
    • While -> Cuando no se sabe el numero de veces a repetir el algoritmo.
  • 11. Introducción Complejidad Análisis asintótico Formulación de algoritmos Conclusiones y recomendaciones PROYECTO 3 COMPUTO DEL FACTORIAL n ! Bibliografia
    • http://seneca.cucea.udg.mx/curso_linea/ProgramacionI/Modulo4%20Seccion2.pdf
    • http://www.lcc.uma.es/~lopez/modular/recursion/transp_recursion.pdf
    • http://www.di.uniovi.es/~dani/asignaturas/transparencias-leccion14.PDF
    • http://ocw.uc3m.es/informatica/programacion/transparencias/tema7.pdf
    • http://lineadecodigo.com/java/factorial-de-un-numero/
    • http://es.wikipedia.org/wiki/Factorial
    • http://es.wikipedia.org/wiki/An%C3%A1lisis_factorial
    • http://www.di.uniovi.es/~dani/asignaturas/apuntes-leccion6.PDF
    • http://www.it.uc3m.es/java/prog/units/recursion-complejidad/guides/1/guide_es.html
    • Matemáticas discretas. Sexta edición. Johnsonbaugh, Richard. Pearson educación México 2005. ISBN 970-26-063-3
    • Algoritmos computacionales, introduccion al análisis y diseño. Tercera edicion. Baase, Sara y Gelder Allenvan. Pearson educacion México 2002. ISBN 970-26-0142-8

×