Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Curso de Nivelación de Algoritmos - Clase 1

2,016 views

Published on

  • Be the first to comment

Curso de Nivelación de Algoritmos - Clase 1

  1. 1. De los problemas a los programas Modelo Formal Algoritmos Lenguajes de Programación Curso de Nivelación de Algoritmos Clase 1 Lic. Ernesto Mislej emislej@gmail.comMaestría y Carrera de Especialización en Explotación de Datos y Descubrimiento de Conocimiento 12 de marzo de 2012 Lic. Ernesto Mislej Curso de Nivelación de Algoritmos
  2. 2. De los problemas a los programas Modelo Formal Algoritmos Lenguajes de ProgramaciónComputer science is no more about computers thanastronomy is about telescopes. E. W. Dijkstra Lic. Ernesto Mislej Curso de Nivelación de Algoritmos
  3. 3. De los problemas a los programas Modelo Formal Algoritmos Lenguajes de ProgramaciónDe los problemas a los programas Escribir un programa de computadoras comprende varios pasos: Formulación y especicación del problema. Diseño de la solución. Implantación. Prueba. Documentación. Evaluación de la solución. La mitad del trabajo es saber qué problema se va a resolver. Lic. Ernesto Mislej Curso de Nivelación de Algoritmos
  4. 4. De los problemas a los programas Modelo Formal Algoritmos Lenguajes de ProgramaciónDe los problemas a los programas Al abordar los problemas, por lo general, éstos no tienen una especicación simple y precisa. Una buena estrategia es expresar ciertos aspectos de un problema con un modelo formal recurriendo a casi cualquier rama de las matemáticas y de las ciencias. Y así aprovechar todo lo que se sabe del modelo. Lic. Ernesto Mislej Curso de Nivelación de Algoritmos
  5. 5. De los problemas a los programas Modelo Formal Algoritmos Lenguajes de ProgramaciónModelo Formal Ejemplo Elegir dónde ubicarse al subir a un colectivo lleno. Lic. Ernesto Mislej Curso de Nivelación de Algoritmos
  6. 6. De los problemas a los programas Modelo Formal Algoritmos Lenguajes de ProgramaciónModelo Formal Ejemplo Elegir 2 equipos de fútbol parejos, para jugar un picado. Lic. Ernesto Mislej Curso de Nivelación de Algoritmos
  7. 7. De los problemas a los programas Modelo Formal Algoritmos Lenguajes de ProgramaciónModelo Formal Ejemplo Llegar a Ciudad Universitaria desde el centro. Lic. Ernesto Mislej Curso de Nivelación de Algoritmos
  8. 8. De los problemas a los programas Modelo Formal Algoritmos Lenguajes de ProgramaciónModelo Formal Ejemplo Ir al supermercado con una lista de productos. Lic. Ernesto Mislej Curso de Nivelación de Algoritmos
  9. 9. De los problemas a los programas Modelo Formal Algoritmos Lenguajes de ProgramaciónModelo Formal Ejemplo Armar las mesas para un casamiento. Lic. Ernesto Mislej Curso de Nivelación de Algoritmos
  10. 10. De los problemas a los programas Modelo Formal Algoritmos Lenguajes de ProgramaciónAlgoritmos Cuando se tiene el modelo adecuado al problema se puede buscar una solución en función de ese modelo. El objetivo inicial consiste en hallar una solución en forma de algoritmo. Un algoritmo es una secuencia nita de instrucciones, de signicado preciso y puede ejecutarse con una cantidad nita de esfuerzo. Lic. Ernesto Mislej Curso de Nivelación de Algoritmos
  11. 11. De los problemas a los programas Modelo Formal Algoritmos Lenguajes de ProgramaciónAlgoritmos Ejemplo Armar una red tendido de TV por Cable. Unir todas las casas usando la mínima cantidad de cable. Lic. Ernesto Mislej Curso de Nivelación de Algoritmos
  12. 12. De los problemas a los programas Modelo Formal Algoritmos Lenguajes de ProgramaciónAlgoritmos Kruskal (AGN): 1. Sea T un conjunto vacío. 2. Sea E el conjunto de ejes. 3. Extraer e el eje más pequeño de E . 4. Si T ∪ {e } tiene un ciclo, descartar e ; sino agregar e a T . 5. Si T no une a todos los nodos, ir a 3. 6. Devolver T . http://www-b2.is.tokushima-u.ac.jp/ ikeda/suuri/kruskal/KruskalApp.shtml?demo1 Lic. Ernesto Mislej Curso de Nivelación de Algoritmos
  13. 13. De los problemas a los programas Modelo Formal Algoritmos Lenguajes de ProgramaciónAlgoritmos Los algoritmos pueden estar expresados en lenguaje natural, como el español, en un lenguaje de programación o incluso por diseño de hardware. El único requisito es que la especicación debe proveer una descripción precisa de los pasos a seguir dentro del procedimiento. Lic. Ernesto Mislej Curso de Nivelación de Algoritmos
  14. 14. De los problemas a los programas Modelo Formal Algoritmos Lenguajes de ProgramaciónLos lenguajes de Programación ¾Qué lenguajes de programación conocen? Nosotros vamos a usar Python: http://www.python.org Cada lenguaje tiene una sintaxis y una semántica en particular, es decir, el conjunto de instrucciones que admite como válidas y la manera particular de utilizarlas. Lic. Ernesto Mislej Curso de Nivelación de Algoritmos
  15. 15. De los problemas a los programas Modelo Formal Algoritmos Lenguajes de ProgramaciónLos lenguajes de Programación A su vez cada lenguaje de programación denota un paradigma de programación. Existen lenguajes que son declarativos como el SQL y lenguajes que son imperativos (existen aún más distinciones). Nosotros vamos por el modelo imperativo. Veamos el entorno interactivo Python. Lic. Ernesto Mislej Curso de Nivelación de Algoritmos

×