You are on page 1of 10

Algoritmos y Estructuras de Datos Básicas.

Programación de Computadores I
Instituto IACC
31 de agosto de 2018
Actividad

Lea atenta y detenidamente el siguiente encabezado y a continuación responda las preguntas.

 Supongamos que el día lunes usted se levanta en la mañana y realiza todas sus actividades
normalmente hasta antes de salir hacia su trabajo. En el momento de hacerlo, se encuentra con
que su automóvil se niega a arrancar y obviamente existe en el motor un desperfecto técnico
que usted ignora cómo solucionar. Entonces, procede a llamar una grúa para remolcarlo al taller,
pero en el intertanto, recibe una llamada desde la oficina solicitándole que concurra allí
rápidamente para asistir a una reunión importante. Usted deberá decidir entonces si esperar la
llegada de la grúa y entregar su auto para llevarlo al taller o sencillamente cancelar la llamada,
abordar un microbús o taxi y dirigirse a la oficina rápidamente para luego preocuparse de
reparar su automóvil.

Utilizando la plantilla establecida por IACC para la entrega de tareas de la semana, descargable
desde la plataforma del curso junto con estas instrucciones, se pide:

1. Implementar un diagrama de flujo que describa la secuencia de eventos relatados


anteriormente, desde el momento en que se levanta hasta que llega a la oficina, tomando en
cuenta las decisiones tomadas, que obviamente dependen de su propia voluntad, y aplicando la
simbología básica abordada hasta la semana 2 del curso.
2. Traducir el diagrama de flujo, determinado en el punto anterior, a un algoritmo en
pseudocódigo de la manera más fiel posible, aplicando las 2 primeras fases de la programación.

Desarrollo

1. Implementar un diagrama de flujo favorece la comprensión del proceso al mostrarlo como un


dibujo. El cerebro humano reconoce muy fácilmente los dibujos. Un buen diagrama de flujo
reemplaza varias páginas de texto, permitiendo identificar los problemas y las oportunidades de
mejora del proceso. Se identifican los pasos, los flujos de los reprocesos, los conflictos de
autoridad, las responsabilidades, los cuellos de botella, y los puntos de decisión.
Son una excelente herramienta de capacitación para el personal nuevo y también para los que
desarrollan una tarea, cuando se realizan mejoras en el proceso.
Al igual que el pseudocódigo, el diagrama de flujo con fines de análisis de algoritmos de
programación puede ser ejecutado en un ordenador.

Para el caso planteado se realizó la secuencia de eventos relatados, para posteriormente realizar
el diagrama de flujo
1. Despertar
2. Levantarse
3. Ir al baño
4. Desayunar
5. Salir de la casa
6. Arrancar auto
7. Auto no arranca
8. Llamar grúa
9. Recibir llamada de oficina
Si se recibe la llamada:
10. Ir a la oficina
11. Como llegar rápido, bus o taxi? En bus es más lento, en taxi es más rápido.
12. Tomar taxi
13. Llegar a la oficina
14. Salir de la oficina
15. Llegar al taller
16. Reparar auto
Si no se recibe la llamada
10. Esperar grúa
11. Entregar auto
12. Tomar bus o taxi
13. Llegar a la oficina
14. Salir de la oficina
15. Llegar al taller
16. Reparar auto
Diagrama de flujo:
2. El Pseudocodigo es un pseudolenguaje intermedio entre el natural del programador y el
lenguaje de programación seleccionado, considerándose por tanto un lenguaje de
pseudoprogramación.
No existe una sintaxis estándar para el pseudocódigo, utilizando una mezcla de lenguaje
natural (utilizando como base la lengua nativa del programador) y una serie de símbolos,
términos y otras características propias de los lenguajes de programación de alto nivel como
Pascal o APL.
Sus principales características son:
 Es fácil de aprender y utilizar.
 Es conciso.
 Es independiente del lenguaje de programación que se vaya a utilizar.
 Facilita el paso del programa al lenguaje de programación.
 Es fácil de mantener.
Sus principales ventajas sobre las técnicas diagramáticas que veremos a continuación son
su facilidad de creación, evolución y mantenimiento, y la facilidad para expresar el
pseudocódigo en cualquier lenguaje de programación.

Para el caso planteado se tradujo el diagrama de flujo a un algoritmo en Pseudocodigo, de la


manera más fiel posible y aplicando las dos primeras fases de la programación, las cuales son:

 Análisis del problema: En esta etapa se realiza el estudio del problema. Se debe responder a
preguntas importantes tales como:
o Tipo y cantidad de entradas que se requiere.
o Tipo y cantidad de salidas que se deben obtener.
o Métodos y procesos necesarios de realizar para obtener la salida requerida.
En esta etapa se determina qué es lo que hace el programa que se va a implementar.

 Diseño del Algoritmo: En esta etapa se debe determinar cómo el programa debe realizar la
tarea solicitada, sus procesos y secuencias. El diseño del algoritmo es independiente al lenguaje
de programación seleccionado para implementar una solución de software. Esta fase se enlaza
con la anterior, en términos de que el diseño del algoritmo es el resultado del análisis del
problema, previamente realizado. De ahí la importancia de un análisis acabado, ya que cualquier
error en la etapa anterior, puede significar un algoritmo poco eficiente o hasta erróneo.

Algoritmo en Pseudocodigo del diagrama de flujo anterior

Algoritmo Ir_a_la_oficina
Escribir 'Proceso ir a la oficina'
Escribir '1. Despertar'
Escribir '2. Levantarse'
Escribir '3. Ir al baño'
Escribir '4. Desayunar'
Escribir '5. Salir de la casa'
Escribir '6. Arrancar auto'
Escribir '7. Auto no arranca'
Escribir '8. Llamar grúa'
Escribir '9. Recibir llamada'
Leer ingresar_recibir_llamada
Si ingresar_recibir_llamada='si' Entonces
Escribir '10. Ir a la oficina'
Escribir '11. Como llegar más rápido bus o taxi?'
Leer como_llegar_rapido
Si como_llegar_rapido='taxi' Entonces
Escribir 'si, en taxi es más rápido'
SiNo
Escribir 'no, en bus es más lento'
FinSi
Leer como_llegar_rapido
Si como_llegar_rapido='bus' Entonces
Escribir 'no, en bus es más lento'
SiNo
Escribir 'si, en taxi es más rápido'
FinSi
Escribir '12. Tomar taxi'
SiNo
Escribir '10. Esperar grúa'
Escribir '11. Entregar auto'
Escribir '12. Tomar bus o taxi'
FinSi
Escribir '13. Llegar a la oficina'
Escribir '14. Salir de la oficina'
Escribir '15. Llegar al taller'
Escribir '16. Reparar auto'
FinAlgoritmo

Captura del algoritmo en PSeint


Se ejecuta el algoritmo y se captura las operaciones con sus variables
Bibliografía

(2018). Introducción a la Programación Estructurada (Vol. Semana 1). Santiago, IACC

(2018). Algoritmos para la Programación Estructurada (Vol. Semana 2). Santiago, IACC.

IACC (2015, 08). Algoritmo representado a través de un pseudocódigo o diagrama de flujo. Youtube.
Obtenido 08, 2018, de https://www.youtube.com/watch?v=kimpqs3YeVY&feature=youtu.be

(2018). PROGRAMACIÓN DE COMPUTADORES 1 (Vol. Semana 1). Santiago, IACC.

(2018). PROGRAMACIÓN DE COMPUTADORES I (Vol. Semana 2). Santiago, IACC.

Trabajos anteriores

You might also like