12
ASIGNATURA: ALGORITMOS Y LÓGICA COMPUTACIONAL TEMA 5: DIAGRAMAS DE FLUJO INGENIERÍA EN SISTEMAS COMPUTACIONALES - CICLO 01/2015 Página 1 Diagramas de Flujo Son la representación gráfica de la solución algorítmica de un problema. Para diseñarlos se utilizan determinados símbolos o figuras que representan una acción dentro del procedimiento. Utilizan unos símbolos normalizados, con los pasos del algoritmo escritos en el símbolo adecuado y los símbolos unidos con flechas, denominadas líneas de flujo, que indican el orden en que los pasos deben ser ejecutados. Símbolos que usaremos para representar nuestros diagramas de flujo: Símbolo Descripción Inicio / Terminación. Este símbolo se utiliza para señalar el comienzo así como el final de un diagrama. Tradicionalmente se colocan las palabras “INICIO” ó “FIN” dentro de la figura para hacerlo más explícito. Entrada de datos. En este símbolo se indican los valores iniciales que deberá recibir el proceso. Esto se hace asignándoles letras o nombres de variables para cada uno de los valores y anotando estas letras en el interior de la figura. Proceso de datos. Este símbolo lo utilizaremos para señalar operaciones matemáticas, aritméticas o procesos específicos que se realicen con nuestros datos. La manera de anotar dichos procesos, puede ser mediante una descripción breve de la operación o mediante una asignación de dicha operación hacia una variable como por ejemplo: R A + B. Decisión. Este símbolo nos representa una disyuntiva lógica o decisión. En su interior se anota una instrucción o pregunta que pueda ser evaluada como cierta o falsa y que determine el flujo del programa. Este símbolo es el único que puede contener dos salidas y en cada una de las salidas se suele poner un rótulo de “si/no” o “cierto/falso” indicando con esto cuál de ellas se tomará según el resultado de la evaluación de la función. Es una buena práctica de diagramación utilizar siempre el mismo lado para los positivos siempre que esto sea posible.

Clase05_Diagramas de Flujo

Embed Size (px)

DESCRIPTION

OBTENER INFORMACION COMO REALIZAR Y TRABJAR CON UN DIAGRAMA DE FLUJO

Citation preview

Page 1: Clase05_Diagramas de Flujo

ASIGNATURA: ALGORITMOS Y LÓGICA COMPUTACIONAL

TEMA 5: DIAGRAMAS DE FLUJO

INGENIERÍA EN SISTEMAS COMPUTACIONALES - CICLO 01/2015

Página 1

Diagramas de Flujo

Son la representación gráfica de la solución algorítmica de un problema. Para diseñarlos se utilizan determinados símbolos o figuras que representan una acción dentro del procedimiento.

Utilizan unos símbolos normalizados, con los pasos del algoritmo escritos en el símbolo adecuado y los símbolos unidos con flechas, denominadas líneas de flujo, que indican el orden en que los pasos deben ser ejecutados.

Símbolos que usaremos para representar nuestros diagramas de flujo:

Símbolo Descripción

Inicio / Terminación. Este símbolo se utiliza para señalar el comienzo así como el final de un diagrama. Tradicionalmente se colocan las palabras “INICIO” ó “FIN” dentro de la figura para hacerlo más explícito.

Entrada de datos. En este símbolo se indican los valores iniciales que deberá recibir el proceso. Esto se hace asignándoles letras o nombres de variables para cada uno de los valores y anotando estas letras en el interior de la figura.

Proceso de datos. Este símbolo lo utilizaremos para señalar operaciones matemáticas, aritméticas o procesos específicos que se realicen con nuestros datos. La manera de anotar dichos procesos, puede ser mediante una descripción breve de la operación o mediante una asignación de dicha operación hacia una variable como por ejemplo: R ← A + B.

Decisión. Este símbolo nos representa una disyuntiva lógica o decisión. En su interior se anota una instrucción o pregunta que pueda ser evaluada como cierta o falsa y que determine el flujo del programa. Este símbolo es el único que puede contener dos salidas y en cada una de las salidas se suele poner un rótulo de “si/no” o “cierto/falso” indicando con esto cuál de ellas se tomará según el resultado de la evaluación de la función. Es una buena práctica de diagramación utilizar siempre el mismo lado para los positivos siempre que esto sea posible.

Page 2: Clase05_Diagramas de Flujo

ASIGNATURA: ALGORITMOS Y LÓGICA COMPUTACIONAL

TEMA 5: DIAGRAMAS DE FLUJO

INGENIERÍA EN SISTEMAS COMPUTACIONALES - CICLO 01/2015

Página 2

Desplegado de información. Este símbolo se utiliza para mostrar un resultado, el cual puede representar la solución al problema que se pretende resolver y que fue conseguida a través del resto del diagrama.

Dentro de su interior se anotará la variable con el resultado final o el mensaje que represente el resultado del algoritmo.

Conector. Este símbolo se utiliza para indicar un salto dentro del diagrama. Se utiliza con el propósito de facilitar la disposición plana de un diagrama y evitar el cruce excesivo de líneas a través del mismo.

Este conector va asociado a un conector “gemelo” y junto con él, representa una puerta de entrada y de salida para el flujo del diagrama, es decir que cuando una flecha termina en un conector marcado con la letra “A”, se continuará el diagrama a partir de otro conector marcado con la misma letra tal como si se tratara de una línea continua ininterrumpida.

Conector de página. Este conector es idéntico en funcionamiento que el anterior, pero su forma pentagonal lo distingue y nos indica que debemos buscar el “gemelo” en una página distinta de la actual. Este conector lleva asociado una especie de salto entre páginas.

Repetición. Indica la repetición de un bucle con estructura For.

Líneas de flujo: Indican la secuencia en que se realizan las operaciones.

Page 3: Clase05_Diagramas de Flujo

ASIGNATURA: ALGORITMOS Y LÓGICA COMPUTACIONAL

TEMA 5: DIAGRAMAS DE FLUJO

INGENIERÍA EN SISTEMAS COMPUTACIONALES - CICLO 01/2015

Página 3

Reglas para la construcción del diagrama de flujo: 1. Todo diagrama debe tener un inicio y un fin, con el objetivo de que pueda ser

utilizado como submódulo de otro módulo de nivel superior. 2. Las líneas de conexión o flujo deben ser siempre rectas. Además que sean sólo

verticales u horizontales (nunca inclinadas ni cruzarse) 3. Las líneas que enlazan los símbolos entre sí, deben estar todas conectadas. Cada

línea o flecha debe entrar en un bloque o en un símbolo 4. Se deben dibujar todos los símbolos de modo que se pueda seguir el problema

visualmente de arriba hacia abajo y de izquierda a derecha. 5. Diseñar un gráfico claro y equilibrado, procurando que el flujo central del diagrama

de flujo sea la parte central de la hoja de papel. 6. Es necesario dejar un bloque o dos de proceso libres al comienzo del diagrama de

flujo, para reservar posición de memoria para variables, constantes, acumuladores, inicialización de arreglos, etc.

7. Siempre que sea posible, es conveniente que el diagrama de flujo no sobrepase una página, sino, enumerar adecuadamente las hojas del diagrama y utilizar los correspondientes conectores de página que indiquen sin dudas, la dirección correcta del flujo.

8. Si para resolver el problema es necesario la elaboración de varios módulos o diagrama de flujo, asignar un nombre a cada submódulo, el cual debe ser un nombre significativo que indique lo que hace el diagrama de flujo. En estos casos en el óvalo de inicio usamos el nombre del submódulo, para una mejor comprensión.

Ejemplo 1: Diseñar un diagrama de flujo que calcule el área de un circulo (� � ��

�).

Page 4: Clase05_Diagramas de Flujo

ASIGNATURA: ALGORITMOS Y LÓGICA COMPUTACIONAL

TEMA 5: DIAGRAMAS DE FLUJO

INGENIERÍA EN SISTEMAS COMPUTACIONALES - CICLO 01/2015

Página 4

Ejemplo 2: Diseñar un diagrama de flujo que lea cuatro variables y calcule e imprima su producto, suma y media aritmética.

Elementos de la fase de resolución de un problema Para resolver un problema debemos seguir ciertos pasos que nos permitirán llevar un orden. Las fases principales que usaremos para resolver un problema son las siguientes:

Page 5: Clase05_Diagramas de Flujo

ASIGNATURA: ALGORITMOS Y LÓGICA COMPUTACIONAL

TEMA 5: DIAGRAMAS DE FLUJO

INGENIERÍA EN SISTEMAS COMPUTACIONALES - CICLO 01/2015

Página 5

1. Definición del problema. Está dado por el enunciado del problema, el cual requiere una definición clara y precisa. Es importante que se conozca lo que se desea que realice la computadora; mientras esto no se conozca del todo, no tiene mucho caso continuar con los siguientes elementos. La definición del problema está relacionada con la identificación del objetivo que se pretende. Por eso tener claro el objetivo nos permite saber hacia dónde vamos y también nos permite saber hasta donde debemos llegar. 2. Análisis del problema. Esta fase requiere una clara definición, donde se contemple exactamente lo que debe hacer el programa y el resultado o solución deseada. Dado que se busca una solución, se precisan especificaciones de entrada y salida. Para poder definir bien un problema es conveniente responder a las siguientes preguntas: • ¿Cuáles serán las salidas del problema? • ¿Qué entradas necesito para llegar a la salida del problema? • ¿Qué método produce la salida deseada? El análisis del problema es la fase fundamental para resolver un problema. En esta fase se hace una planeación de la solución del problema. Aquí identificamos y definimos las variables para el problema y las fórmulas que se van a utilizar. 3. Diseño del algoritmo.

Toda la información recolectada en el paso anterior, se ordena de una forma lógica para que los datos de entrada se transformen en información o datos de salida. A esta solución le llamamos Algoritmo. En esta etapa también representamos el algoritmo gráficamente a través de Diagramas de Flujo. 4. Prueba manual del algoritmo.

La prueba manual o de Escritorio no es más que realizar o ejecutar secuencial y lógicamente todas las instrucciones del algoritmo diseñado, utilizando datos de prueba para verificar que el algoritmo elaborado sea correcto. Si da error, debe verificarse en el análisis del problema o diseño del algoritmo. Porqué es tan importante la Prueba de Escritorio. La Prueba de Escritorio es el único mecanismo que tenemos a la mano como seres humanos para saber cuáles serán los resultados de un algoritmo si fuera ejecutado por una computadora. La gran condición que se debe tener en cuenta para realizar una prueba de escritorio es que se ejecuten uno a uno los pasos que diga el algoritmo sin que se realicen ningún tipo de reflexiones sobre los mismos o sea tal como lo haría una computadora, que sencillamente ejecuta y ejecuta sin “pensar”. De esta manera podremos saber cuáles son los resultados que tendrá nuestro algoritmo al momento de ser convertido en un programa y ejecutado por una computadora. Tipos de estructuras básicas Un problema se puede dividir en acciones elementales o instrucciones, usando un número limitado de estructuras de control (básicas) y sus combinaciones que pueden servir para resolver dicho problema.

Page 6: Clase05_Diagramas de Flujo

ASIGNATURA: ALGORITMOS Y LÓGICA COMPUTACIONAL

TEMA 5: DIAGRAMAS DE FLUJO

INGENIERÍA EN SISTEMAS COMPUTACIONALES - CICLO 01/2015

Página 6

Las estructuras de control de un lenguaje de programación son métodos de especificar el orden en que las instrucciones de un algoritmo se ejecutarán. Estas son por consiguiente fundamentales en los lenguajes de programación y en los diseños de algoritmos. Las Estructuras Básicas pueden ser: • Secuenciales: cuando una instrucción del programa sigue a otra. Constan de

Entrada, Proceso y Salida. • Selección o decisión: acciones en las que la ejecución de alguna dependerá de

que se cumplan una o varias condiciones. Pueden ser simples, dobles, compuestas y múltiples.

• Repetición, Iteración: cuando un proceso se repite en tanto cierta condición sea establecida para finalizar ese proceso. Estas pueden ser: Mientras (While), Desde/Para (For) y Repetir (Repeat)

Estructuras secuenciales Son problemas en los que, para su solución se emplea una serie de acciones ejecutadas invariablemente en un orden secuencial. Es aquella en la que una acción sigue a otra en secuencia. Las tareas suceden de tal modo que la salida de una es la entrada de la siguiente y así sucesivamente hasta el fin del proceso. Dentro de este tipo podemos encontrar operaciones de inicio/fin, inicialización de variables, operaciones de asignación, cálculo, etc. Este tipo de estructura se basa en las 5 fases de que consta todo algoritmo o programa: • Definición de variables (Declaración) • Inicialización de variables. • Lectura de datos • Cálculos • Salida Representación gráfica:

Page 7: Clase05_Diagramas de Flujo

ASIGNATURA: ALGORITMOS Y LÓGICA COMPUTACIONAL

TEMA 5: DIAGRAMAS DE FLUJO

INGENIERÍA EN SISTEMAS COMPUTACIONALES - CICLO 01/2015

Página 7

Ejemplos prácticos Ejemplo 1 En una tienda se ofrece un descuento del 15% sobre el total de la compra y un cliente desea saber cuánto deberá pagar finalmente por su compra. Definición del problema: Obtener la cantidad de dinero que tendrá que pagar el cliente, si la tienda ofrece un 15% de descuento sobre el total de la compra. Análisis del problema: Para obtener el descuento es necesario conocer la cantidad total de la compra, y sobre ésta aplicar el 15%. Posteriormente, este descuento deberá ser sustraído de la cantidad total de la compra para así obtener la cantidad con descuento, que es la que el cliente pagará. Pasos que se deben realizar: Salidas: Cantidad a pagar Entradas: Total de la compra Datos adicionales: el descuento equivale al 15% sobre el total de la compra. Aplicar las siguientes fórmulas: Descuento = total de la compra * 0.15 Cantidad a pagar = total de la compra – descuento Sección de Declaraciones: Var Real: CP, TC, D Donde CP será Cantidad a pagar TC será total de la compra y D será el descuento

Page 8: Clase05_Diagramas de Flujo

ASIGNATURA: ALGORITMOS Y LÓGICA COMPUTACIONAL

TEMA 5: DIAGRAMAS DE FLUJO

INGENIERÍA EN SISTEMAS COMPUTACIONALES - CICLO 01/2015

Página 8

Diseño del algoritmo

Pseudocódigo Diagrama de Flujo Inicio Leer TC D <- TC * 0.15 CP <- TC - D Escribir CP Fin

Prueba manual del algoritmo

Page 9: Clase05_Diagramas de Flujo

ASIGNATURA: ALGORITMOS Y LÓGICA COMPUTACIONAL

TEMA 5: DIAGRAMAS DE FLUJO

INGENIERÍA EN SISTEMAS COMPUTACIONALES - CICLO 01/2015

Página 9

Ejemplo 2 Un vendedor recibe un sueldo base más un 10% extra por comisión de sus ventas. El vendedor desea saber cuánto dinero obtendrá por concepto de comisiones por las tres ventas que realiza en el mes y el total que recibirá en el mes tomando en cuenta su sueldo base y sus comisiones. Definición del problema: Obtener la cantidad de dinero que recibirá un vendedor por concepto de comisiones por tres ventas realizadas en el mes, y el total que recibirá en el mes por sueldo y comisión. Se sabe que el vendedor recibe un sueldo base y un 10% extra por comisiones de todas sus ventas. Análisis del problema: Para obtener la comisión y la cantidad que recibirá el vendedor, se necesita realizar lo siguiente: Para obtener la cantidad total de ventas hay que conocer la cantidad de cada una de sus ventas en el mes y sumarlas. Posteriormente, sobre el total de las ventas se debe aplicar el 10% para obtener la comisión. Por último, para obtener el total de dinero que debe recibir el vendedor hay que sumarle al sueldo base la comisión. Pasos que se deben realizar: Salidas: Cantidad a recibir por comisión, cantidad total a recibir Entradas: cantidad de venta 1, 2 y 3, sueldo base Datos adicionales: el descuento de 10% se aplicará sobre el total de las ventas del mes Aplicar las siguientes fórmulas: Total de las ventas = Venta 1 + Venta 2 + Venta 3 Comisión = Total de las ventas * 0.10 Total a recibir = Sueldo base + Comisión Sección de Declaraciones: Var Real: TV, V1, V2, V3, TR, C, SB Donde SB será Salario Base TV será Total de las Ventas V1, V2 y V3 será el valor de las tres ventas C será la comisión TR será el total a recibir

Page 10: Clase05_Diagramas de Flujo

ASIGNATURA: ALGORITMOS Y LÓGICA COMPUTACIONAL

TEMA 5: DIAGRAMAS DE FLUJO

INGENIERÍA EN SISTEMAS COMPUTACIONALES - CICLO 01/2015

Página 10

Diseño del algoritmo

Pseudocódigo Flujograma Inicio Leer SB,V1,V2,V3 TV <- V1+V2+V3 C <- TV * 0.1 TR <- SB + C Escribir TR Fin

Prueba manual del algoritmo

Page 11: Clase05_Diagramas de Flujo

ASIGNATURA: ALGORITMOS Y LÓGICA COMPUTACIONAL

TEMA 5: DIAGRAMAS DE FLUJO

INGENIERÍA EN SISTEMAS COMPUTACIONALES - CICLO 01/2015

Página 11

EJERCICIOS PARA LA CLASE Desarrollar con su grupo las soluciones de cada problema. Aplicar las fases para la resolución de un problema en los siguientes ejercicios. 1. Un alumno ha realizado tres exámenes parciales y ha obtenido igual número de

notas. El desea saber cuál es su promedio final de la materia de Lógica y Algoritmos, si se sabe que los dos primeros registros tienen un porcentaje del 30% y el tercero 40%.

2. Dado el radio y la altura de un cilindro, calcular el área y el volumen. Sabiendo

que las fórmulas para el Área son 2 Πr h y para el volumen Πr2h. 3. Determinar el sueldo de un vendedor, el cual depende de su sueldo base más el

10% de su comisión sobre las ventas. Imprimir el nombre del vendedor, sueldo y comisión.

4. Calcular el sueldo de un trabajador al cual se le realizan los siguientes descuentos.

Renta=10%, AFP=5%, FSV=8%; al final deberá imprimir el nombre del trabajador, su dirección, teléfono, salario neto y total de descuentos.

5. Dados tres datos de entrada, se desea imprimirlos en orden invertido. TAREA Aplicar las fases para la resolución de un problema en los siguientes ejercicios. 1. Se desea saber la media aritmética de los 5 mejores estudiantes dela facultad de

Ingeniería e imprimir el resultado.

2. Una empresa se dedica a la venta de un determinado software, cada software es vendido en $500. ¿Cuál es la ganancia real en una semana, en la cual se vendió X número de software y el costo real del producto es del 20% menos del precio de venta? Al final deberá imprimir: Cantidad de software vendido, precio real del mismo y la ganancia obtenida.

3. Suponga que un individuo decide invertir su capital en un banco y desea saber

cuánto dinero ganará después de un mes si el banco le paga a razón de 2% mensual.

4. Un alumno desea saber cuál será el promedio general en las tres materias

más difíciles que cursa y cuál será el promedio que obtendrá en cada una de ellas, sabiendo que se evalúa de la siguiente manera:

• La calificación de Lógica Computacional se obtiene de un examen con 50% y un

promedio de tareas de 50% con tres tareas entregadas. • La calificación de Matemática se obtiene de la siguiente forma: Examen 30%,

promedio de tareas 40% para un total de dos tareas, Proyecto 30%.

Page 12: Clase05_Diagramas de Flujo

ASIGNATURA: ALGORITMOS Y LÓGICA COMPUTACIONAL

TEMA 5: DIAGRAMAS DE FLUJO

INGENIERÍA EN SISTEMAS COMPUTACIONALES - CICLO 01/2015

Página 12

• La calificación de Sistemas Operativos se obtiene con 2 exámenes 20% cada uno, promedio de tres tareas 30% y proyecto con 30%. Calcular el promedio de un alumno cualquiera por asignatura y el total ganado por las tres.

5. En las olimpíadas de invierno, el tiempo que realizan los participantes en la

competencia de velocidad en pista se mide en minutos, segundos y centésimas. La distancia que recorren, por otra parte, se expresa en metros. Calcular la velocidad de los participantes en kilómetros por hora, de las diferentes competencias.

6. Un maestro desea saber qué porcentaje de hombres y qué porcentaje de mujeres hay en un grupo de estudiantes.

7. En un hospital existen tres áreas: Pediatría, Oncología y Traumatología. El presupuesto anual del hospital se reparte conforme a la siguiente tabla:

AREA PORCENTAJE DEL PRESUPUESTO Pediatría 30% Oncología 40%

Traumatología 30%

Calcular la cantidad de presupuesto para cada área. 8. Los premios de un determinado juego se distribuyen de acuerdo al siguiente

criterio: a) La cantidad repartida en premios es un 60% de la recaudación total. b) Existen 5 categorías de premiados y el número de acertantes por categoría se

lee de teclado. Indicar la cantidad que percibe cada acertante de cada una de las categorías.

9. Calcular e imprimir el costo de producción de un artículo, teniendo como datos la

descripción y el número de unidades producidas. El costo se calcula multiplicando el número de unidades producidas por un factor de costo de materiales de 3.5 y sumándole al producto un costo fijo de $10700.

10. La velocidad de la luz es 300000 Km. por segundo. Leer un tiempo en segundos e imprimir la distancia que recorre en dicho tiempo.

Indicaciones generales para la entrega de tarea. Adjuntarla en la actividad Tarea llamada Tema 5: Diagramas de Flujo (TP5), el documento adjunto puede tener las siguientes extensiones: *.doc - *.docx - *.pdf.

El nombre del archivo deberá ser de la siguiente manera: PrimerApellido_PrimerNombre_TP5.doc .docx .pdf Periodo de entrega de tarea: miércoles 11 a martes 17 de febrero.