2. Lenguajes de programación (I)
Software de aplicación:
Edición
Problema
Algoritmo en
pseudocódigo Programa en Código fuente
(o diagrama Java en Java
Resultado
de flujo)
Traducción y
Escritura
ejecución (traductor
en Java
y compilador)
Código máquina
(programa
ejecutable)
Departamento de sistemas
3. Proceso de compilación
Programa
fuente
Si Compilador
Errores
de
compilac
ión
No
Programa
Objeto
Montador o Programa
enlazador Ejecutable
Ejecución
Departamento de Sistemas
4. 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
5. Ejecución, verificación y depuración.
6. Mantenimiento
7. Documentación.
Departamento de ingeniería
5. 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
6. 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
7. 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
8. 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
9. 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
10. 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?
1. Ir al cine
2. Comprar el tiquete
3. Ver la película
4. Regresar a la casa
Departamento de ingeniería
11. 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
12. 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
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 seguirse para la elaboración
de un algoritmo ()
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
16. 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
17. 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
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
si_no
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
si_no
4.3 Comprar tiquetes
fin_si
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
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
20. Elementos del Diagrama de flujo
Terminal Subproceso
no
Decisión
Proceso
si Leer,
escribir
Departamento de ingeniería
21. Ejemplos de diagramas de flujo
Inicio
Ver cartelera
cine
¿Proyec
tan no Cambiar
película actividad
?
si
Ver película
Regresar a casa
Fin
Departamento de ingeniería
22. Ejemplo algoritmo para “Ir a cine”
Inicio
1. Inicio
2. Ver cartelera Ver cartelera
3. Si hay película “Capitán América” entonces
3.1 Ir mostrador
no Cambiar
si_no ¿Proyectan
película? actividad
3.2 Cambiar actividad
3.3 Ir al paso 9
fin_si si
Comprar
4. Si hay fila entonces Ir mostrador
tiquete
4.1 Esperar turno
4.2 mientras hay personas en fila hacer
4.2.1 avanzar fila ¿Hay fila? Pasar a sala
fin mientras
fin_si Si
5. Comprar tiquete
6. Pasar a sala Esperar turno Ubicar asiento
7. Ubicar asiento
8. Ver película
9. Volver a casa ¿Hay
personas? Ver película
10. fin
si
Avanzar fila Volver a casa
Fin
23. Trabajo en clase
Pseucódigo y diagramas de flujo de situaciones
planteadas por los estudiantes.
Departamento de ingeniería