Beruflich Dokumente
Kultur Dokumente
Diagramas de flujo
Ejercicios FreeDFD
Pseudocdigo o
Introduccin o
Diagramas de flujo
Ejercicios FreeDFD
Pseudocdigo o
Contenido
Introduccin o
Diagramas de ujo
Pseudocdigo o
Introduccin o
Diagramas de flujo
Ejercicios FreeDFD
Pseudocdigo o
Dise o de la solucin: se debe proponer o aplicar un modelo para n o lograr sistematizar la bsqueda de la solucin. u o Codicacin: en esta etapa se describen los pasos que se deben o ejecutar para resolver el problema (algoritmo). Prueba: se verica el funcionamiento de la solucin propuesta y se o detectan los errores que se presenten con la posterior correccin de los o mismos (depuracin). o
Introduccin o
Diagramas de flujo
Ejercicios FreeDFD
Pseudocdigo o
Algoritmos
Denicin 1.1 (Algoritmo) o Un algoritmo es una secuencia nita de instrucciones, reglas o pasos que describen de modo preciso las operaciones que un computador debe realizar para ejecutar una tarea determinada en un tiempo nito. Cinco propiedades ampliamente aceptadas como requisitos para un algoritmo (Knuth):
Finitud: Un algoritmo siempre debe terminar despus de un n mero e u nito de pasos. Precisin: cada paso de un algoritmo debe estar precisamente denido o y sin ambiguedades. Entrada: un algoritmo tiene cero o ms entradas que le son dadas antes a de que el algoritmo comience, o dinmicamente mientras corre. a Salida: un algoritmo tiene una o ms salidas. a Ecacia: las operaciones a realizar en un algoritmo deben ser sucientemente bsicas como para que en principio puedan ser a realizadas de manera exacta y en un tiempo nito por un hombre usando papel y lpiz. a
Introduccin o
Diagramas de flujo
Ejercicios FreeDFD
Pseudocdigo o
Ejemplo
Algoritmo para preparar fr joles con chicharrn para 8 raciones. Los o datos de entrada (ingredientes) son:
2 libras de fr joles. 1 cucharada de aceite vegetal o de girasol. 1/4 de libra de tocino cortado en trocitos.
Algoritmo
1
Se lavan bien los frjoles y se dejan remojando en el agua desde la noche anterior. Al da siguiente, se ponen en la olla a presin con el agua en o que se remojaron, el aceite, el tocino y la zanahoria. Se cocinan sin sal hasta que estn blandos, aproximadamente por e 1 hora. Se lica una peque~a cantidad de los frjoles con la zanahoria, u n los cubos de caldo y la sal, y se agrega a los frjoles. Se cocinan media hora ms con la olla destapada hasta que a espesen.
Introduccin o
Diagramas de flujo
Ejercicios FreeDFD
Pseudocdigo o
Otros ejemplos
Muchos algoritmos no requieren de un computador para su ejecucin: o
Cambiar la llanta de un carro Ir al banco a pagar una cuenta Ir a un restaurante a comer Determinar la cantidad de dinero que nos deben devolver al pagar el bus Comprar una libra de azucar
En la prctica, un algoritmo es slo una parte de las etapas requeridas a o para resolver un problema:
Diseo del algoritmo. n Implementacin del algoritmo en un lenguaje de programacin adecuado o o (codicacin). o Ejecucin y validacin del programa por el computador. o o
Introduccin o
Diagramas de flujo
Ejercicios FreeDFD
Pseudocdigo o
Diseo de algoritmos n
Herramientas utilizadas para disear algoritmos n
Diagramas de ujo: representacin esquemtica de un algoritmo que o a muestra grcamente los pasos a seguir para alcanzar la solucin de un a o problema. Pseudocdigos: forma genrica de escribir un algoritmo, por medio de o e un lenguaje simple sin necesidad de conocer la sintxis de un lenguaje a de programacin. o
El diagrama de ujo se compone de guras que ilustran los pasos o procesos a seguir para alcanzar la solucin del problema. o Los s mbolos presentados permiten crear una estructura grca exible a que ilustra los pasos a seguir. Un diagrama de ujo permite con facilidad la posterior escritura de un programa en algn lenguaje de programacin. u o
Introduccin o
Diagramas de flujo
Ejercicios FreeDFD
Pseudocdigo o
Diagramas de ujo
S mbolo utilizado para marcar el inicio y el n del diagrama de ujo. S mbolo utilizado para ingresar los datos de entrada (expresa lectura). S mbolo utilizado para representar un proceso. En su interior se expresan asignaciones, operaciones aritmticas, cambios de valor de celdas en memoria, etc. e S mbolos utilizados para indicar la direccin del ujo o del diagrama. S mbolo utilizado para representar la estructura selectiva si entonces; en su interior se almacena una condicin que determina el ujo del diagrama. o S mbolo utilizado para representar la estructura selectiva si entonces/sino; en su interior se almacena una condicin que determina el ujo del diagrama. o
Introduccin o
Diagramas de flujo
Ejercicios FreeDFD
Pseudocdigo o
Diagramas de ujo
S mbolo utilizado para representar una decisin o mltiple. En su inetrior se almacena un selector y u dependiendo de su valor, se sigue por una de las ramas. S mbolo utilizado para representar la impresin de un o resultado (expresa escritura). S mbolo utilizado para expresar conexin dentro de o una misma pgina. a
S mbolo utilizado para expresar un mdulo de un o problema: para continuar con el ujo normal del diagrama es necesario primero resolver el subproblema enunciado en su interior.
Introduccin o
Diagramas de flujo
Ejercicios FreeDFD
Pseudocdigo o
Diagramas de ujo
Introduccin o
Diagramas de flujo
Ejercicios FreeDFD
Pseudocdigo o
Las lineas utilizadas para indicar la direccin del ujo del diagrama o deben ser rectas verticales y horizontales y no se deben cruzar.
Introduccin o
Diagramas de flujo
Ejercicios FreeDFD
Pseudocdigo o
Introduccin o
Diagramas de flujo
Ejercicios FreeDFD
Pseudocdigo o
Editor e intrprete de diagramas de ujo e Permite editar, ejecutar y depurar algoritmos representados como diagramas de ujo Es software libre distribuido bajo la licencia pblica GNU (GPL) u Lo puede descargar y ejecutar en Linux por medio de Wine mientras sale una versin para GNU/Linux o Fue desarrollado por estudiantes de la Universidad de Magdalena
Introduccin o
Diagramas de flujo
Ejercicios FreeDFD
Pseudocdigo o
Interfaz de FreeDFD
Barra de men s u
Objetos: permiten crear un diagrama de ujo Ejecucin: permite ejecutar, detener y pausar un diagrama de ujo o
Area de trabajo
Introduccin o
Diagramas de flujo
Ejercicios FreeDFD
Pseudocdigo o
Objetos en FreeDFD
(a) Inicio
(b) Lectura
(c) Asignacin o
(d) Condicional
(g) Salida
(h) Llamada
(i) n
Introduccin o
Diagramas de flujo
Ejercicios FreeDFD
Pseudocdigo o
Ejercicios en FreeDFD
Ejercicio 3.1 Realice un diagrama de ujo tal que dado los datos A, B, C y D que representan nmeros, escriba los mismos en orden inverso. u
Ejercicio 3.2 Modique el diagrama de ujo del ejercicio anterior (3.1) para que los datos de salida:
1 2
Introduccin o
Diagramas de flujo
Ejercicios FreeDFD
Pseudocdigo o
Ejercicios en FreeDFD
Ejercicio 3.3 Realice un diagrama de ujo que reciba como datos de entradas dos nmeros u m y n y escriba el resultado de la suma y el producto de los mismos.
Ejercicio 3.4 Modique el diagrama de ujo del ejercicio anterior (3.3) para que en lugar de imprimirse el valor de la suma y el producto, se impriman los mensajes:
1 2
La suma de y El producto de y
es
Introduccin o
Diagramas de flujo
Ejercicios FreeDFD
Pseudocdigo o
Ejercicios en FreeDFD
Ejercicio 3.5 A un estudiante obtiene 5 calicaciones a lo largo del semestre. Realice un diagrama de ujo que reciba como datos de entrada las calicaciones del estudiante e imprima el promedio de sus calicaciones. Se debe imprimir un mensaje que diga El promedio de las calicaciones es . . .
Ejercicio 3.6 Desarrolle un diagrama de ujo tal que dado como datos la base y la altura de un rectngulo, calcule su per a metro y area.
Introduccin o
Diagramas de flujo
Ejercicios FreeDFD
Pseudocdigo o
Ejercicios en FreeDFD
Ejercicio 3.7 Implemente un diagrama de ujo tal que dado el costo de un art culo vendido y la cantidad de dinero entregada por el cliente, calcule e imprima el cambio que se debe entregrsele. a
Ejercicio 3.8 Realice un diagrama de ujo que reciba como datos el nombre de un dinosaurio, su peso (en toneladas) y su altura (en pies), y que escriba el nombre del dinosaurio, su peso en kilogramos y su altura en metros.
Introduccin o
Diagramas de flujo
Ejercicios FreeDFD
Pseudocdigo o
Ejercicios en FreeDFD
Ejercicio 3.9 En una gasolinera las mquinas registran el combustible surtido en galones a pero el precio de la gasolina est jado en litros. Realice un diagrama de a ujo que calcule e imprima el valor que hay que cobrarle al cliente.
Ejercicio 3.10 Implemente un diagrama de ujo que reciba como datos el radio y la altura de un cilindro y calcule e imprima su area y volumen.
Introduccin o
Diagramas de flujo
Ejercicios FreeDFD
Pseudocdigo o
Ejercicios en FreeDFD
Ejercicio 3.11 Desarrolle un diagrama de ujo que calcule e imprima el nmero de u segundos que hay en un determinado nmero de d u as.
Ejercicio 3.12 Se desea conocer cuntos meses han transcurrido entre enero de 1949 y a enero de 2002. Realice un diagrama de ujo que resuelva dicho problema.
Ejercicio 3.13 Se desea determinar los meses transcurridos entre los inicios de dos aos n cualesquiera. Realice un diagrama de ujo que resuelva dicho problema.
Introduccin o
Diagramas de flujo
Ejercicios FreeDFD
Pseudocdigo o
Terminolog bsica a a
Programa: conjunto de instrucciones que ejecuta un computador para alcanzar un resultado espec co (Von Neumann, 1946). Un programa se escribe en un lenguaje de programacin a partir de o un diagrama de ujo diseado con anterioridad. n Los lenguajes de programacin estn constituidos por un conjunto de o a
Reglas sintcticas: especican la formacin (sintaxis) de instrucciones a o vlidas. a Reglas semnticas: especican el signicado de las instrucciones a vlidas. a
Desarrollo de un algoritmo (solucin general). o Construccin de un diagrama de ujo. o Construccin de un programa en un lenguaje de programacin. o o
Introduccin o
Diagramas de flujo
Ejercicios FreeDFD
Pseudocdigo o
Instrucciones en pseudocdigo o
Lectura de datos:
Leer A, VEL, C
Proceso:
Hacer TEMP = TEMP + 1
Escritura:
Escribir A, VEL
Introduccin o
Diagramas de flujo
Ejercicios FreeDFD
Pseudocdigo o
Ejemplos
Programa en pseudocdigo para el diagrama de ujo del ejercicio (3.1) o
INVERTIR DATOS { Dado un conjunto de datos de entrada el programa invierte el orden de los mismos y los imprime } { A, B, C y D son variables de tipo entero }
1 2
Leer A, B, C, D Escribir D, C, B, A
Observaciones
Todo programa tiene un nombre (en este ejemplo INVERTIR DATOS) que lo dene y que se elige teniendo en cuenta las reglas para la construccin de identicadores. o Entre llaves { } van comentarios que indican la funcin del programa. o Escribir un programa es sencillo cuando se conoce las instrucciones del pseudocdigo. La tarea intelectual consiste en la construccin del o o diagrama de ujo.
Introduccin o
Diagramas de flujo
Ejercicios FreeDFD
Pseudocdigo o
Ejemplos
Programa en pseudocdigo para el diagrama de ujo del ejercicio (3.3) o
CALCULA { Dado dos enteros m y n, el programa calcula el resultado de la suma y el producto de los mismos } { m y n son variables de tipo real, al igual que las variables sum y prod }
1 2 3 4
Introduccin o
Diagramas de flujo
Ejercicios FreeDFD
Pseudocdigo o
Ejemplos
Programa en pseudocdigo para el diagrama de ujo del ejercicio (3.10) o
CALCULA { Dado el radio r y la altura h de un cilindro, el programa calcula el area y el volumen del cilindro } { r y h son variables de tipo real, al igual que las variables area y vol }
1 2 3 4 5
Leer r, h Hacer pi = 3.1416 Hacer area = 2 pi r2 + 2 pi r h Hacer vol = pi r2 h Escribir area, vol
Introduccin o
Diagramas de flujo
Ejercicios FreeDFD
Pseudocdigo o
Referencias
O. Cair o Metodolog de la programacin a o Segunda edicin. Alfaomega Grupo Editor, S.A., 2005 o
J.W. Eaton GNU Octave: A high-level interactive language for numerical computations Network Theory Ltd., 2002