Algoritmia Departamento de ingeniería
Lenguajes de programación (I) Software de aplicación: Departamento de sistemas Algoritmo en pseudocódigo (o diagrama de flujo) Programa en Java Código fuente en Java Código máquina (programa ejecutable) Problema Resultado
Proceso de compilación Departamento de Sistemas Programa fuente Compilador Errores de compilación Programa Objeto Programa Ejecutable Ejecución No Si Cargador o enlazador
Fases en la resolución de problemas (I) Las fases que se proponen para resolver un problema con computador son: Análisis Diseño del algoritmo Codificación (implementación) Compilación Ejecución, verificación y depuración. Mantenimiento Documentación. Departamento de ingeniería
Fases en la resolución de problemas (II) Análisis. El problema se analiza teniendo en cuenta las  especificaciones  de los  requisitos  del cliente. Diseño. Se diseña la solución. Se genera un  algoritmo  para resolver el problema. Codificación. Se escribe la solución en el  lenguaje de alto nivel . Departamento de ingeniería
Fases en la resolución de problemas (III) Ejecución, verificación y depuración. El programa se ejecuta. Se eliminan errores. Mantenimiento. Actualización o modificación Se cumplen solicitudes de cambio del cliente. Documentación. Documentación de las diferentes fases. Generación de manuales de usuario Normas de mantenimiento. Departamento de ingeniería
Concepto y características de algoritmos (IV) Los pasos para resolver un problema: Diseño del algoritmo.  Descripción de una secuencia ordenada de pasos para dar solución a un problema. “ El algoritmo es un método para resolver problemas” Expresar el algoritmo como un “programa” en el lenguaje de programación adecuado. Ejecución y validación  del programa por el computador Departamento de ingeniería
Concepto y características de algoritmos (III) Características de un algoritmo Los algoritmos son independientes del  lenguaje de programación. El algoritmo se puede presentar en un lenguaje de programación diferente. En algoritmo puede ejecutarse en un computador distinto. Ejemplo: asistir a clase. Departamento de ingeniería
Concepto y características de algoritmos (V) Características fundamentales de un algoritmo Preciso:  Debe indicar el orden en que se realizó cada paso. Definido:  Obtiene el mismo resultado si se sigue dos veces el mismo algoritmo. Finito:  Un algoritmo se debe terminar en algún momento. Un número finito de pasos. Departamento de ingeniería
Concepto y características de algoritmos (VI) Reglas Al definir un algoritmo se deben describir tres pasos:  entrada, proceso y salida. Ejemplo:  ¿Qué hacer para ver una película? Ir al cine  Comprar el tiquete  Ver la película Regresar a la casa Departamento de ingeniería
Ejemplos de algoritmos Situaciones de la vida diaria Preparar un alimento. Realizar una llamada. Asistir a una cita. Situaciones matemáticas Promedio acumulado del semestre. Determinar mayor de dos números. Departamento de ingeniería
Sobre algoritmos Es un conjunto de pasos, instrucciones o acciones que se deben seguir y realizar ordenadamente, para llegar a un fin determinado.  Son útiles para: Solucionar un problema Obtener una respuesta Realizar una una tarea Mejorar un proceso Etc . Departamento de ingeniería
Tipos de algoritmos (I) Algoritmos cualitativos Son aquellos pasos o instrucciones descritos por medio de palabras que sirven para llegar a la obtención de una respuesta o solución de un problema. Ej.: La utilización del directorio telefónico, una receta de cocina (preparar sancocho), montaje de una llanta, etc . Departamento de ingeniería
Tipos de algoritmos (II) Algoritmos cuantitativos Son todos aquellos pasos o instrucciones que involucran cálculos numéricos para llegar a un resultado satisfactorio. Ej.: Multiplicar dos números, ordenar una cantidad de números en forma ascendente, dividir dos números, encontrar de un conjunto de números el mayor, etc. Departamento de ingeniería
Pasos a seguirse para la elaboración de un algoritmo () Leer el enunciado del problema cuantas veces sea necesario, hasta entenderlo completamente, si tiene duda sobre el significado de alguna pregunta o condición aclararla, ojala se aprenda de memoria el enunciado. Determinar claramente con que datos de entrada se cuenta para la solución del problema. Aclarar y determinar la información o resultados que se soliciten. Información Intermedia. Información Final. Departamento de ingeniería
Pasos a seguirse para la elaboración de un algoritmo () Definir que cálculos y/o comparaciones se necesitan para llegar al resultado final. Cálculos y comparaciones intermedias. Cálculos y comparaciones finales. Tener en cuenta toda clase de condiciones y restricciones para la solución del problema. Todos los pasos tienen la misma importancia, la falta de analisis de alguno de ellos causara problemas en el transcurso del desarrollo del algoritmo. Departamento de ingeniería
Representación de los algoritmos Para representar los algoritmos se utilizan los: Diagramas de Flujo : Representación gráfica Pseudo Código o Pseudo Lenguaje:  lenguaje de especificación de algoritmos. Departamento de ingeniería
Ejemplo algoritmo para “Ir a cine” 1. Inicio 2. Ver cartelera 3.  Si  hay película “Capitán América”  entonces            3.1 Ir mostrador        sino            3.2 Cambiar actividad            3.3 Ir al paso 8      fin_si 4.  Si  hay fila  entonces            4.1 Esperar turno            4.2  mientras  hay personas en fila  hacer                       4.2.1 avanzar fila                   fin mientras      fin_si         4.3 Comprar tiquetes   5. Pasar a sala 6. Ubicar asiento 7. Ver película 8. Volver a casa 9. fin Departamento de ingeniería
Representación gráfica Diagrama de flujo: “ Técnica de representación gráfica de un algoritmo”. Es un diagrama que utiliza símbolos (cajas) estándar y representa los pasos escritos en las cajas, las cuales se unen a través de flechas, denominadas:  líneas de flujo.  Las líneas de flujo indican la secuencia que se debe ejecutar. Departamento de ingeniería
Elementos del Diagrama de flujo Departamento de ingeniería Terminal Subproceso Decisión Proceso si no Leer, escribir
Ejemplos de diagramas de flujo Departamento de ingeniería Inicio ¿Proyectan película? Ver cartelera cine Ver película Regresar a casa  Fin Cambiar actividad si no
Ejemplo algoritmo para “Ir a cine” 1. Inicio 2. Ver cartelera 3.  Si  hay película “Capitán América”  entonces 3.1 Ir mostrador si_no 3.2 Cambiar actividad 3.3 Ir al paso 9 fin_si 4.  Si  hay fila  entonces 4.1 Esperar turno 4.2  mientras  hay personas en fila  hacer 4.2.1 avanzar fila fin mientras fin_si   5. Comprar tiquete 6. Pasar a sala 7. Ubicar asiento 8. Ver película 9. Volver a casa 10. fin Inicio ¿Proyectan película? Ver cartelera Ir mostrador Fin ¿Hay fila? Esperar turno ¿Hay personas? Avanzar fila Cambiar actividad Comprar tiquete Pasar a sala Ubicar asiento Ver película Volver a casa si no Si si
Trabajo en clase Pseucódigo y diagramas de flujo de situaciones planteadas por los estudiantes. Departamento de ingeniería
Gracias!!!

Ppt4 presentacion ip_algoritmia_2011

  • 1.
  • 2.
    Lenguajes de programación(I) Software de aplicación: Departamento de sistemas Algoritmo en pseudocódigo (o diagrama de flujo) Programa en Java Código fuente en Java Código máquina (programa ejecutable) Problema Resultado
  • 3.
    Proceso de compilaciónDepartamento de Sistemas Programa fuente Compilador Errores de compilación Programa Objeto Programa Ejecutable Ejecución No Si Cargador o enlazador
  • 4.
    Fases en laresolución de problemas (I) Las fases que se proponen para resolver un problema con computador son: Análisis Diseño del algoritmo Codificación (implementación) Compilación Ejecución, verificación y depuración. Mantenimiento Documentación. Departamento de ingeniería
  • 5.
    Fases en laresolución de problemas (II) Análisis. El problema se analiza teniendo en cuenta las especificaciones de los requisitos del cliente. Diseño. Se diseña la solución. Se genera un algoritmo para resolver el problema. Codificación. Se escribe la solución en el lenguaje de alto nivel . Departamento de ingeniería
  • 6.
    Fases en laresolución de problemas (III) Ejecución, verificación y depuración. El programa se ejecuta. Se eliminan errores. Mantenimiento. Actualización o modificación Se cumplen solicitudes de cambio del cliente. Documentación. Documentación de las diferentes fases. Generación de manuales de usuario Normas de mantenimiento. Departamento de ingeniería
  • 7.
    Concepto y característicasde algoritmos (IV) Los pasos para resolver un problema: Diseño del algoritmo. Descripción de una secuencia ordenada de pasos para dar solución a un problema. “ El algoritmo es un método para resolver problemas” Expresar el algoritmo como un “programa” en el lenguaje de programación adecuado. Ejecución y validación del programa por el computador Departamento de ingeniería
  • 8.
    Concepto y característicasde algoritmos (III) Características de un algoritmo Los algoritmos son independientes del lenguaje de programación. El algoritmo se puede presentar en un lenguaje de programación diferente. En algoritmo puede ejecutarse en un computador distinto. Ejemplo: asistir a clase. Departamento de ingeniería
  • 9.
    Concepto y característicasde algoritmos (V) Características fundamentales de un algoritmo Preciso: Debe indicar el orden en que se realizó cada paso. Definido: Obtiene el mismo resultado si se sigue dos veces el mismo algoritmo. Finito: Un algoritmo se debe terminar en algún momento. Un número finito de pasos. Departamento de ingeniería
  • 10.
    Concepto y característicasde algoritmos (VI) Reglas Al definir un algoritmo se deben describir tres pasos: entrada, proceso y salida. Ejemplo: ¿Qué hacer para ver una película? Ir al cine Comprar el tiquete Ver la película Regresar a la casa Departamento de ingeniería
  • 11.
    Ejemplos de algoritmosSituaciones de la vida diaria Preparar un alimento. Realizar una llamada. Asistir a una cita. Situaciones matemáticas Promedio acumulado del semestre. Determinar mayor de dos números. Departamento de ingeniería
  • 12.
    Sobre algoritmos Esun conjunto de pasos, instrucciones o acciones que se deben seguir y realizar ordenadamente, para llegar a un fin determinado. Son útiles para: Solucionar un problema Obtener una respuesta Realizar una una tarea Mejorar un proceso Etc . Departamento de ingeniería
  • 13.
    Tipos de algoritmos(I) Algoritmos cualitativos Son aquellos pasos o instrucciones descritos por medio de palabras que sirven para llegar a la obtención de una respuesta o solución de un problema. Ej.: La utilización del directorio telefónico, una receta de cocina (preparar sancocho), montaje de una llanta, etc . Departamento de ingeniería
  • 14.
    Tipos de algoritmos(II) Algoritmos cuantitativos Son todos aquellos pasos o instrucciones que involucran cálculos numéricos para llegar a un resultado satisfactorio. Ej.: Multiplicar dos números, ordenar una cantidad de números en forma ascendente, dividir dos números, encontrar de un conjunto de números el mayor, etc. Departamento de ingeniería
  • 15.
    Pasos a seguirsepara la elaboración de un algoritmo () Leer el enunciado del problema cuantas veces sea necesario, hasta entenderlo completamente, si tiene duda sobre el significado de alguna pregunta o condición aclararla, ojala se aprenda de memoria el enunciado. Determinar claramente con que datos de entrada se cuenta para la solución del problema. Aclarar y determinar la información o resultados que se soliciten. Información Intermedia. Información Final. Departamento de ingeniería
  • 16.
    Pasos a seguirsepara la elaboración de un algoritmo () Definir que cálculos y/o comparaciones se necesitan para llegar al resultado final. Cálculos y comparaciones intermedias. Cálculos y comparaciones finales. Tener en cuenta toda clase de condiciones y restricciones para la solución del problema. Todos los pasos tienen la misma importancia, la falta de analisis de alguno de ellos causara problemas en el transcurso del desarrollo del algoritmo. Departamento de ingeniería
  • 17.
    Representación de losalgoritmos Para representar los algoritmos se utilizan los: Diagramas de Flujo : Representación gráfica Pseudo Código o Pseudo Lenguaje: lenguaje de especificación de algoritmos. Departamento de ingeniería
  • 18.
    Ejemplo algoritmo para“Ir a cine” 1. Inicio 2. Ver cartelera 3. Si hay película “Capitán América” entonces           3.1 Ir mostrador       sino           3.2 Cambiar actividad           3.3 Ir al paso 8     fin_si 4. Si hay fila entonces           4.1 Esperar turno           4.2 mientras hay personas en fila hacer                      4.2.1 avanzar fila                  fin mientras    fin_si       4.3 Comprar tiquetes 5. Pasar a sala 6. Ubicar asiento 7. Ver película 8. Volver a casa 9. fin Departamento de ingeniería
  • 19.
    Representación gráfica Diagramade flujo: “ Técnica de representación gráfica de un algoritmo”. Es un diagrama que utiliza símbolos (cajas) estándar y representa los pasos escritos en las cajas, las cuales se unen a través de flechas, denominadas: líneas de flujo. Las líneas de flujo indican la secuencia que se debe ejecutar. Departamento de ingeniería
  • 20.
    Elementos del Diagramade flujo Departamento de ingeniería Terminal Subproceso Decisión Proceso si no Leer, escribir
  • 21.
    Ejemplos de diagramasde flujo Departamento de ingeniería Inicio ¿Proyectan película? Ver cartelera cine Ver película Regresar a casa Fin Cambiar actividad si no
  • 22.
    Ejemplo algoritmo para“Ir a cine” 1. Inicio 2. Ver cartelera 3. Si hay película “Capitán América” entonces 3.1 Ir mostrador si_no 3.2 Cambiar actividad 3.3 Ir al paso 9 fin_si 4. Si hay fila entonces 4.1 Esperar turno 4.2 mientras hay personas en fila hacer 4.2.1 avanzar fila fin mientras fin_si 5. Comprar tiquete 6. Pasar a sala 7. Ubicar asiento 8. Ver película 9. Volver a casa 10. fin Inicio ¿Proyectan película? Ver cartelera Ir mostrador Fin ¿Hay fila? Esperar turno ¿Hay personas? Avanzar fila Cambiar actividad Comprar tiquete Pasar a sala Ubicar asiento Ver película Volver a casa si no Si si
  • 23.
    Trabajo en clasePseucódigo y diagramas de flujo de situaciones planteadas por los estudiantes. Departamento de ingeniería
  • 24.