Sei sulla pagina 1di 15

ESCUELA POLITECNICA NACIONAL

Maestra en Diseo, Produccin


y Automatizacin Industrial
Diagramas de Flujo y Algoritmos
Ing. Victor Cardenas , PhD.
Ing. William Venegas, MSc.

ESCUELA POLITECNICA NACIONAL


Diagramas de Flujo y Algoritmos
Objetivos Especficos
Que los estudiantes logren:
Utilizar el mtodo algortmico y la abstraccin en la resolucin de problemas.
Capacidad para disear e interpretar algoritmos
.

Contenidos
Los contenidos que se presentarn en esta unidad son:

Etapas en la solucin de problemas.


Concepto de algoritmo.
Estructuras algortmicas fundamentales.
Generalizacin del concepto de procedimiento.

Etapas de Programacin
Pseudocdigo estilo Matlab
Entradas.

Proceso Secuencial.

Procesos.
Proceso Repetitivo.

Salidas.

Etapas de Programacin
Diagrama de flujo

Entradas.

Proceso Secuencial.

Etapas de Programacin
Diagrama de flujo

Proceso Repetitivo.

Salidas.

PROGRAMACIN GLOBAL

TIPOS DE ENTRADAS
Teclado, Tctil (Touch), Sensores, Interfaz Grafica,etc

TIPOS DE SALIDAS
Display en Pantallas, Interfaz( HMI, Actuadores), etc

TIPOS DE PROCESOS
Secuenciales: todas las instrucciones se ejecutan una
detrs de otra
Simultneos: todas las instrucciones se ejecutan en un
mismo instante con un operador
Selectivas (bifurcaciones): en funcin de una expresin
(lgica), se opta entre varias alternativas de ejecucin
Repetitivas (cclicas, bucles o lazos): Se utilizan para
realizar varias veces el mismo conjunto de operaciones
Acumulador es una variable cuyo valor se incrementa o
decrementa en un valor que no tiene por qu ser fijo (en
cada iteracin de un bucle). Un acumulador suele utilizarse
para acumular resultados producidos en las iteraciones de
un bucle.

ETAPAS EN LA SOLUCIN DE PROBLEMAS

Descripcin del problema.


Eleccin de un algoritmo para resolver el problema.
Diseo del algoritmo.
Codificacin en un lenguaje que la computadora reconozca. (MATLAB,C++,
PASCAL, FORTRAN, VISUAL BASIC, JAVA y muchos otros).
Ingreso del cdigo y ejecucin del programa en una computadora.
Correccin, pruebas y optimizacin del programa.
Documentacin y mantenimiento del programa.

Interpretacin dinmica y cclica de las etapas para resolver problemas

ELECCION DE UN ALGORITMO PARA


RESOLVER EL PROBLEMA
Los algoritmos pueden ser expresados de muchas maneras, incluyendo
al lenguaje natural, pseudocdigo, diagramas de flujo y
lenguajes de programacin entre otros
Un algoritmo puede definirse como una secuencia lgica de pasos necesarios
para la ejecucin de una tarea especfica, tal como la solucin de un problema,
tambin como una secuencia de instrucciones para alcanzar un resultado deseado
en un tiempo finito.

Primera fase del ciclo de programacin.

REPRESENTACIN DE ALGORITMOS
Smbolo

Nombre

Funcin

Terminal

Representa el inicio o el final del algoritmo

Lneas de flujo

Representa el flujo de la lgica. Los arcos en la flecha horizontal indican que


sta pasa sobre las lneas de flujo verticales y no se conecta con ellas.

Proceso
(Instruccin)
Entrada/Salida

Representa clculos o manipulaciones de datos

Decisin
(Condicional)

Representa una comparacin, una pregunta o una decisin que determina los
caminos alternativos a seguir

Ciclo de cuenta
controlada

Se usa para ciclos que repiten un nmero predeterminado de iteraciones

Unin

Representa la confluencia de lneas de flujo (Final o inicio de pgina)

Conexin de fin de
pgina
Entrada por teclado

Representa una interrupcin que contina en otra pgina

Salida Impresa

Indica la representacin de uno o varios resultados en forma impresa

Salida en Pantalla

Instruccin de representacin de mensajes o resultados en pantalla

Representa entrada o salida de datos e informacin

Indica que el computador debe esperar a que el usuario teclee un dato que se
guardar en una variable o constante

ALGORITMO
Un buen algoritmo se caracteriza por: terminar luego de una cantidad finita de
pasos, ser lo ms general y preciso posible, ser determinstico, no dejar nada al azar
y permitir obtener resultados independientes de quien lo est utilizando.
Para generar un algoritmo se debe seguir una serie de pasos:
1. Determinar el objetivo de la tarea
2. Identificar los datos de entrada y de salida
3. Determinar el proceso involucrado
4. Identificar las variables internas
5. Dividir el proceso en acciones elementales
6. Determinar la secuencia de estas acciones
7. Incorporar estructuras de control

CRITERIOS PARA ELEGIR UN ALGORITMO


Simple
Fcil de entender, escribir
PROGRAMAS LEGIBLES Y MODIFICABLES

Eficiente
Obtener los resultados, sin malgasto de recursos
RAPIDOS Y CON BUEN USO DE LOS RECURSOS

ESTRUCTURAS ALGORITMICAS
FUNDAMENTALES
Estructura MIENTRAS
Estructura SELECTIVA

NO

CONDICION

SI

CONDICION
SI
Sentencias
bucle

NO

ESTRUCTURAS ALGORITMICAS
FUNDAMENTALES

HASTA

PARA

ENTRADA

ENTRADA

SENTENCIAS
BUCLE

NO

CONDICION

PARA i=vi HASTA vf


CON INCREMENTO n

SI

SALIDA

SENTENCIAS
BUCLE

SALIDA

RECURSIVIDAD
Es una tcnica de programacin, donde la funcin se llama as
misma.

Reglas para disear algoritmos recursivos


1. Deben existir reglas lgicas en funcin de los argumentos
de entrada, de manera que la funcin les devuelva un valor
sin tener que llamarse as misma (solucin trivial)
2. Cuando los argumentos de entrada no cumplan las reglas
lgicas, se llamar recursivamente a la funcin (solucin
no trivial)
3. Asegurarse que el valor que se devuelve es la solucin
correcta del algoritmo (mtodo de induccin)