Sie sind auf Seite 1von 27

Introduccin o

Diagramas de flujo

Ejercicios FreeDFD

Pseudocdigo o

Introduccin a los Computadores o Algoritmos computacionales


CNM-130 Instituto de Matemticas a Facultad de Ciencias Exactas y Naturales Universidad de Antioquia
Copyleft 2012. Reproduccin permitida bajo los o trminos de la licencia de documentacin libre GNU. e o

Introduccin o

Diagramas de flujo

Ejercicios FreeDFD

Pseudocdigo o

Contenido

Introduccin o

Diagramas de ujo

Ejercicios en ujo en FreeDFD

Pseudocdigo o

Introduccin o

Diagramas de flujo

Ejercicios FreeDFD

Pseudocdigo o

Etapas en la resolucin de un problema o


Denicin del problema: el enunciado completo del problema, o qu es lo que se pretende obtener? e Anlisis del problema: a
un conjunto de datos de entrada (la informacin dada) o un conjunto de datos de salida (lo que se desea obtener) Relaciones que vinculen los datos de entrada y salida

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

2 zanahorias peladas. 2 cubos de caldo de carne. 1 cucharada de sal. 16 tazas de agua.

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 conexin entre o pginas diferentes. 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

Esquema general de un diagrama de ujo

Introduccin o

Diagramas de flujo

Ejercicios FreeDFD

Pseudocdigo o

Reglas para la construccin de diagramas de ujo o


Todo diagrama de ujo debe tener un inicio y un n.

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

Reglas para la construccin de diagramas de ujo o


Todas las lineas utilizadas para indicar la direccin del ujo del o diagrama deben estar conectadas. El diagrama de ujo debe ser constuido de arriba hacia abajo (top-down) y de izquierda a derecha (left-right). La notacin empleada en el diagrama de ujo debe ser independiente o del lenguaje de programacin. o Si el diagrama de ujo requiere ms de una hoja para su construccin, a o se debe utilizar conectores adecuados y enumerar las pginas a convenientemente. A un s mbolo del diagrama (excepto l neas) no puede llegar ms de una a l nea.

Introduccin o

Diagramas de flujo

Ejercicios FreeDFD

Pseudocdigo o

Diagramas de ujo en FreeDFD

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

Permite crear y guardar diagramas de ujos (archivos .dfd) Barra de herramientas

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

(e) Ciclo para

(f) Ciclo mientras

(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

se impriman separados por espacios se impriman separados por comas

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

y es el valor de n, el valor de la suma y

donde representa el valor de m, el valor del producto.

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

Pasos en la resolucin de un problema: o


1 2 3

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

Previo al paso (3), utilizaremos un lenguaje llamado pseudocdigo: o


Es independiente de cualquier lenguaje de programacin. o Carece del rigor expresados en las reglas sintctias y semnticas. a a

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

Leer m, n Hacer sum = m + n Hacer prod = mn Escribir sum, prod

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

Das könnte Ihnen auch gefallen