Está en la página 1de 14

Programación

Diseño y análisis de algoritmos

Diagramas de Flujo de Datos

Profesor:
Oscar San Martín C.
Problema computacional

Problema computacional
Un problema computacional es “una deseada relación entre una entrada y
una salida”.

Un algoritmo resuelve un problema computacional si logra producir la


relación deseada.
Diagrama de Flujo

• Un diagrama de flujo es la forma más tradicional de especificar


los detalles algorítmicos de un proceso.

• Representación gráfica de un algoritmo o de sus partes.

• Para hacer comprensibles los diagramas a todas las personas,


los símbolos se encuentran normados.

• Se construyen utilizando símbolos conectados entre sí por líneas


de flujo.
Diagrama de Flujo

Terminal: inicio y final de proceso

Proceso o actividad: acciones que el programa tiene que


realizar.
Puede tener muchas entradas, pero solo una salida.

Decisión: operaciones lógicas o de comparación. Permite


realizar bifurcaciones.

Entrada: permite ingresar datos

Salida: usado para indicar salida de resultados


Diagrama de Flujo

Selector múltiple: representa una decisión con múltiples


alternativas

Conector: enlaza dos partes cualesquiera de un programa


(flujo)

Línea de flujo: indica la dirección del flujo. Las flechas de flujo


no deben cruzarse. Los diagramas se leen de arriba hacia
abajo y de izquierda a derecha

Conector fuera de página: representa conexión entre partes


del algoritmo representadas en páginas diferentes
Ejemplos

Inicio Inicio

Entrada
Datos Proceso
de datos

Proceso v
Decisión

f
Salida de
datos Inicio

Fin
Programación estructurada

Es un estilo con el cual el se busca que el programador elabore programas


sencillos y fáciles de entender.
Para ello, se hace uso de tres estructuras básicas de control:
• Estructura Secuencial
• Estructura Selectiva
• Estructura Repetitiva (iterativa)

Teorema: programa estructurado (Bôhm y Jacopini, 1966 )


“cualquier programa, puede ser elaborado utilizando únicamente las tres
estructuras básicas”.
Programación estructurada
Estructura secuencial
Indica que las instrucciones de un programa se ejecutan
una después de la otra. En el mismo orden en el cual
aparecen en el programa.

Se representa gráficamente como una caja después de


otra, ambas con una sola entrada y una única salida.

Los procesos A y B pueden ser una simple instrucción, un


módulo o programa completo.
Programación estructurada
Estructura selectiva (decisiones )
If-Then-Else

true false
Plantea la selección entre dos alternativas con base en el
resultado de la evaluación de una condición.

Equivale a la instrucción if-else de todos los lenguajes de


programación.

Si expresión c (condición) es verdadera, entonces se


ejecuta el proceso A. De lo contrario se ejecuta el
proceso B.
Programación estructurada
Estructura repetitiva (iterativa)
Do-While

Corresponde a la ejecución repetida de una instrucción


mientras que se cumple una determinada condición.

El proceso A se ejecuta repetidamente mientras que la


condición c se cumpla (verdadera).

true
Tiene una entrada y una salida.
false

A puede ser un proceso básico, un módulo o programa


completo.
Programación estructurada

Ventajas

Los programas son más fáciles de entender.

Un programa estructurado puede ser leído en secuencia, de arriba hacia


abajo, sin necesidad de estar saltando de un sitio a otro en la lógica.

El seguimiento de las fallas o depuración (debugging) se facilita debido a la


lógica más visible, de tal forma que los errores se pueden detectar y
corregir más fácilmente.

El diseño de programas puede ser más sencillo y rápido.


Ejemplos DF

Serie Fibonacci
1, 1, 2, 3, 5, 8, 13, 21, 34 . . . . . .N

(0+1=1 / 1+1=2 / 1+2=3 / 2+3=5 / 3+5=8 ...)


Ejemplos DF

Serie Fibonacci

También podría gustarte