CULTURA NAZCA, presentación en aula para compartir
Diagrama de flujo
1. Universidad de Cuenca
Facultad de Ingeniería
Comunes
Programación I
Algoritmos, Datos y Estructuras
Capítulo 3: Diagrama de Flujo
2. Contenido
• Algoritmo
• Diagrama de flujo DF
• Simbología
• Consideraciones sobre el DF
• Representación de una solución algorítmica
• Pruebas de Escritorio
• Pseudocódigo
• Actividad
3. Algoritmo
• Algoritmo
– Secuencia finita de pasos para resolver un problema
• Características de un algoritmo
1. Entrada: definir lo que necesita el algoritmo
2. Salida: definir lo que produce.
3. No ambiguo: explícito, siempre sabe qué comando ejecutar.
4. Finito: El algoritmo termina en un número finito de pasos.
5. Correcto: Hace lo que se supone que debe hacer. La solución es
correcta
6. Efectividad: Cada instrucción se completa en tiempo finito.
7. General: Debe ser lo suficientemente general como para
contemplar todos los casos de entrada.
4. Diagrama de Flujo
• Un diagrama de flujo de datos es una descripción
gráfica de un procedimiento (pasos) para la
resolución de un problema.
• Son frecuentemente usados para describir
algoritmos y programas de computador.
• Los diagramas de flujo de datos están conformados
por figuras conectadas con flechas.
• Para ejecutar un proceso descrito por un diagrama
de flujo de datos se comienza por el INICIO y se
siguen las flechas de figura a figura, ejecutándose
las acciones indicadas por cada figura; el tipo de
figura indica el tipo de paso que representa.
• Dicho de otra forma es otra manera de definir un
algoritmo.
6. Consideraciones sobre el DF
• Indicar claramente dónde inicia y dónde termina el
diagrama.
• Cualquier camino del diagrama debe de llevarte siempre
a la terminal de fin.
• Organizar los símbolos de tal forma que siga visualmente
el flujo de arriba hacia abajo y de izquierda a derecha.
• Las líneas deben ser verticales u horizontales, nunca
diagonales.
• Intente usar una sola sentencia por cada gráfico, aunque
si es permito más de una.
7. Representación de una solución
algorítmica #1 Inicio
Leer
unNumero
Leer
otroNumero
Suma =
unNumero +
otroNumero
“La suma es:”
+ suma
Fin
8. Representación de una solución
algorítmica #2
Inicio
Leer
unNumero
unNumero >
10
unNumero =
unNumero – 9
Fin
si
Inicio
Leer
unNumero
unNumero >
10
unNumero =
unNumero – 9
Fin
si
unNumero =
unNumero + 9
no
En los diagramas de flujo es posible usar condiciones a través del uso del rombo. Un
condicional podrá tener varias entradas pero máximo dos salidas: Verdadero y falso o Si y
no. También es posible que tenga una de las dos salidas, siendo preferible siempre que se
use la vía verdadera.
9. Prueba de escritorio
• La prueba de escritorio es una herramienta útil para entender que hace
un determinado algoritmo, o para verificar que un algoritmo cumple con
la especificación sin necesidad de ejecutarlo. No importa la
representación del algoritmo(pseudocódigo, DFD o lenguaje de
programación), siempre es posible aplicar una prueba.
• Una prueba de escritorio es una ejecución ‘a mano’ del algoritmo, por lo
tanto se debe llevar registro de los valores que va tomando cada una de
las variables involucradas en el mismo.
• Para hacer una prueba de escritorio es necesario generar un matriz cuyas
columnas representen a todas las variables involucradas en el proceso.
Luego se sigue la secuencia del algoritmo y se va consignando el valor
actual de cada una de ellas.
10. Prueba de escritorio
Inicio
Leer
unNumero
unNumero >
10
unNumero =
unNumero – 9
si
unNumero =
unNumero + 9
no
“El numero
procesado es”
+ unNumero
Desea
procesar otro
numero?
Leer opcion
Opcion = “si”
si
no
Fin
unNumero opción
0 “”
5
14 “si”
11
2
“no”
11. Prueba de escritorio
• Consejos para desarrollar una prueba de
escritorio
1. Asegúrese de que todas las variables están
consideradas en la matriz de la prueba.
2. No omita ninguna variable, aunque resultará muy
obvio su comportamiento.
3. Siga estrictamente todos los pasos que el algoritmo
sugiere.
4. Escoja datos de prueba que permitan evaluar todos
los caminos del algoritmo.
5. Es buena práctica escribir a un costado lo que la
pantalla va presentando.
12. Pseudocódigo
• Es un lenguaje de especificación de algoritmos que permite
una codificación rápida y simple.
• Su ventaja radica en que el programador no debe
preocuparse por la sintaxis de un lenguaje de programación
en particular.
• Utiliza palabras sencillas de entender para codificar
programas.
13. Actividad en clase:
• Realice el diagrama de flujo y la prueba de escritorio para
resolver los siguientes problemas:
1. Obtenga tres números, almacene en variables y luego calcule y muestre un
reporte sobre su suma y su promedio.
2. Dado los valores de los dos catetos de un triángulo calcule la hipotenusa.
• Descargue e instale el software DFD. Revise el manual de ayuda
y cree los archivos correspondientes para los ejercicios
anteriores. Súbalos en el espacio correspondiente en la
plataforma virtual.
• Modalidad: Individual