Algoritmia Parte II
Departamento de ingeniería
Fases en la resolución de problemas (I)
Las fases que se proponen para resolver un problema con computador son:
1. Análisis
2. Diseño del algoritmo
3. Codificación (implementación)
4. Compilación y ejecución de un programa
5. Verificación y depuración
6. Mantenimiento
7. Documentación.
Departamento de ingeniería
Fases en la resolución de problemas (II)
Análisis. ¿Qué?
El problema se analiza teniendo en cuenta las especificaciones de los requisitos del cliente.
Diseño. ¿Cómo?
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 (IV)
Compilación y ejecución El programa fuente se traduce a lenguaje máquina. Lo realiza el compilador y el S.O. 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
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
Escritura en Java
Edición
Traducción y ejecución (traductor
y compilador)
Resultado
Pasos a seguirse para la elaboración de un algoritmo (I)
1. 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.
2. Determinar claramente con que datos de entrada se cuenta para la solución del problema.
3. 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 ()
4. Definir que cálculos y/o comparaciones se necesitan
para llegar al resultado final.
Cálculos y comparaciones intermedias.
Cálculos y comparaciones finales.
5. 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 “Comprar Pollo Charlot en restaurante”
Inicio 1. Ir a restaurante 2. Si hay “Pollo Charlot” entonces 2.1 Acercarse a la caja si_no 2.2 Cambiar de restaurante 2.3 Ir al paso 8 fin_si 3.mientras hay personas en fila hacer 3.1 avanzar fila fin mientras 4.Pagar el alimento 5. Esperar turno 6. Recibir pollo 7. Comer el pollo 8. Regresar a clase 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?
Buscar
Ver película
Regresar a casa
Fin
Cambiar actividad
si
no
Ejemplo algoritmo para “Ir a cine”
Inicio
1. Ir a restaurante
2. Si hay “Pollo Charlot” entonces
2.1 Acercarse a la caja
si_no
2.2 Cambiar de restaurante
2.3 Ir al paso 8
fin_si
3.mientras hay personas en fila hacer
3.1 avanzar fila
fin mientras
4.Pagar el alimento
5. Esperar turno
6. Recibir pollo
7. Comer el pollo
8. Regresar a clase
fin
Inicio
¿Hay pollo Charlot?
Ir a restaurante
Acercarse a caja
Fin
¿Hay personas?
Avanzar fila
Cambiar de restaurante
Pagar alimento
Esperar turno
Recibir pollo
Comer pollo
Regresar a clase
si
no
si
Trabajo en clase
Pseucódigo y diagramas de flujo de situaciones planteadas por los estudiantes.
Departamento de ingeniería
Gracias!!!