MANUAL DE DIAGRAMA DE FLUJO DE DATOS
DEDICATORIA Este manual va
dedicado a nuestra
profesora de educación por el trabajoLic. Nerita Tarrillo Porque
gracias
a
ella
supimos
desarrollar los diagramas de flujos de datos También agradezco a mis padres que me
dieron
las
facilidades
para
desarrollar este manual que le a servir a muchas personas.
PRESENTACION Este
trabajo
importantes
contiene que
te
temas ayudaran
muy a
comprender y crear diagrama de flujo de datos. Además contiene ejemplos donde te detallan
como
representar
algoritmos en un DFD.
los
INTRODUCCION
LOS ALGORITMOS: Es un conjunto de pasos para resolver un problema.
Un algoritmo se transforma en una herramienta de computadora cuando se
han
preparado
instrucciones
adecuadas para que la computadora pueda
llevarlos
a
cabo
deberรกn
comunicarse a la computadora en un lenguaje que pueda entenderse, tal lenguaje se conoce como lenguaje de progracion.
LOS ALGORITMOS EN LAS MATEMATICAS En matemáticas, lógica, ciencias de la computación y disciplinas relacionadas, un algoritmo (del griego y latín, dixit algorithmus y este a su vez del matemático persa Al-Juarismi) es un conjunto prescrito de instrucciones o reglas bien definidas, ordenadas y finitas que permite realizar una actividad mediante pasos sucesivos que no generen dudas a quien deba realizar dicha actividad.2 Dados un estado inicial y una entrada, siguiendo los pasos sucesivos se llega a un estado final y se obtiene una solución. Los algoritmos son el objeto de estudio de la algoritmia..
En la vida cotidiana se emplean algoritmos frecuentemente para resolver problemas. Algunos ejemplos son los manuales de usuario, que muestran algoritmos para usar un aparato, o las instrucciones que recibe un trabajador por parte de su patrón. Algunos ejemplos en matemática son el algoritmo de la división para calcular el cociente de dos números, el algoritmo de Euclides para obtener el máximo común divisor de dos enteros positivos, o el método de Gauss para resolver un sistema lineal de ecuaciones.
ETIMOLOGÍA DE LA PALABRA ALGORITMO La palabra algoritmo proviene del nombre del matemático llamado Muhammad ibn Musa al-Jwarizmi que vivió entre los siglos VIII y IX. Así, de la palabra algorismo, que originalmente hacía referencia a las reglas de uso de la aritmética utilizando dígitos árabes, se evolucionó a la palabra latina, derivación de al-Khwarizmi, algobarismus, que más tarde mutaría a algoritmo en el siglo XVIII. La palabra ha cambiado de forma que en su definición se incluye a todos los procedimientos finitos para resolver problemas.
HISTORIA DEL ALGORITMO Estos bienes surgieron a mediados del siglo IX por el matemático distinguido y astrónomo Mohammed Ibn Musa aljarizm: pero podemos ver que Al_yebr-mugabata es otro que desarrollo formulas para posibilitar que con un número limitado de procesos fuese posible resolver ecuaciones de primer y segundo
grado.
La historia del algoritmo nace por necesidad de hacer cálculos matemáticos atraves, de ella se fundamenta el paso inicial de entender
acabadamente
cualquier
problema
planteada.
Pero también tengamos en cuenta que los algoritmos están en el corazón mismos de los ordenadores y que los leguajes de computación
solo
son
un
medio
de
expresarlos.
Conforme transcurre el tiempo se crea las simbologías de los algoritmos: Se utiliza un rectángulo redondeado para el inicio y finalización de los algoritmos, los rombos son utilizados para las decisiones y los rectángulos para las acciones a tomar. Las flechas nos indican el flujo teniendo en cuenta que las decisiones no crecerán verticalmente y las decisiones por si crecerán ala derecha. Si bien estos no son los únicos símbolos. El algoritmo tiene la virtud de brindarnos a todos la oportunidad de seleccionar aquello que se considera priotario decimos que no es poco y la capacidad contenida como ordenador del pensamiento da comienzo en el primer paso, el cual implica plantear el problema. No podemos señalar que el algoritmo no es una noción de las centrales en matemática principalmente en al área correspondiente de la matemática computacional. En la teoría de los algoritmos podemos mencionar que los algoritmos empezara hadar inicio aproximadamente a lo alargo de la historia en el siglo 19 aunque ya se tenía cierto conocimiento. En la teoría de los algoritmos a objetos no constructivos se hace necesario
1. ENUNCIADO DEL PROBLEMA. El enunciado debe ser claro y completo .necesitamos saber que deseamos del computador.
2. ANALISIS GENERAL.
DE
LA
SOLUCION
Debemos analizar: los datos o resultados q se esperan, los datos de Entrada que nos suministran, el proceso al que se requiere someter esos datos a fin de obtener los resultados esperados es importante Hacernos preguntas como: ¿Qué se quiera?, ¿Cómo se quiere?, ¿Qué deseo obtener? , etc.
3. ELABORACION DE ALGORITMOS. Posiblemente tengamos muchas formas de resolver el problema, lo Importante es decidir cual vamos a utilizar para obtener los Resultados esperados en el menor tiempo posible o al menor costo.
MEDIOS
DE
EXPRESIÓN
DE
UN
ALGORITMO Los algoritmos pueden ser expresados de muchas maneras, incluyendo al lenguaje natural, pseudocódigo,. Las descripciones en lenguaje natural tienden a ser ambiguas y extensas. El usar pseudocódigo y diagramas de flujo evita muchas ambigüedades del lenguaje natural. Dichas expresiones son formas más estructuradas para representar algoritmos; no obstante, se mantienen independientes de un lenguaje de programación específico.
La descripción de un algoritmo usualmente se hace en tres niveles: 1.Descripción de alto nivel. Se establece el problema, se selecciona un modelo matemático y se explica el algoritmo de manera verbal, posiblemente con ilustraciones y omitiendo detalles. 2. Descripción formal. Se usa pseudocódigo para describir la secuencia de pasos que encuentran la solución. 3. Implementación. Se muestra el algoritmo expresado en un lenguaje de programación específico o algún objeto capaz de llevar a cabo instrucciones. También es posible incluir un teorema que demuestre que el algoritmo es correcto, un análisis de complejidad o ambos.
Tipos de algoritmos según su función Algoritmo de ordenamiento: es un algoritmo que pone elementos de una lista o un vector en una secuencia dada por una relación de orden, es decir, el resultado de salida ha de ser una permutación —o reordenamiento— de la entrada que satisfaga la relación de orden dada. Las relaciones de orden más usadas son el orden numérico y el orden lexicográfico. Ordenamientos eficientes son importantes para optimizar el uso de otros algoritmos (como los de búsqueda y fusión) que requieren listas
ordenadas para una ejecución rápida. También es útil para poner datos en forma canónica y para generar resultados legibles por humanos. Desde los comienzos de la computación, el problema del ordenamiento ha atraído gran cantidad de investigación, tal vez debido a la complejidad de resolverlo eficientemente a pesar de su planteamiento simple y familiar. Por ejemplo, BubbleSort fue analizado desde 1956.1 Aunque muchos puedan considerarlo un problema resuelto, nuevos y útiles algoritmos de ordenamiento se siguen inventado hasta el día de hoy (por ejemplo, el ordenamiento de biblioteca se publicó por primera vez en el 2004). Los algoritmos de ordenamiento son comunes en las clases introductorias a la computación, donde la abundancia de algoritmos para el problema proporciona una gentil introducción a la variedad de conceptos núcleo de los algoritmos, comonotación de O
mayúscula, algoritmos divide y vencerás, estructuras de datos, análisis de los casos peor, mejor, y promedio, y límites inferiores.
Algoritmo de búsqueda: Es aquel que está diseñado para localizar un elemento con ciertas propiedades dentro de una estructura de datos; por ejemplo, ubicar el registro correspondiente a cierta persona en una base de datos, o el mejor movimiento en una partida de ajedrez. La variante más simple del problema es la búsqueda de un número en un vector. Ejemplo: Datos de entrada: vec: vector en el que se desea buscar el dato tam: tamaño del vector. Los subíndices válidos van desde 0 hasta tam-1 inclusive. dato: elemento que se quiere buscar. Variables pos: posición actual en el arreglo pos = 0 Mientras pos < tam: Si vec[pos] == dato devolver verdadero y/o pos, de lo contrario: pos = pos + 1 Fin (Mientras) Devolver falso,
VARIABLES
Una variable es un nombre asociado a un elemento de datos que está situado en posiciones contiguas de la memoria principal, y su valor puede cambiar durante la ejecución de un programa. Toda variable pertenece a un tipo de dato concreto. En la Declaración de una variable se debe indicar el tipo al que pertenece. Así tendremos variables enteras, reales, booleanas, etc. Son elementos que toman valores específicos de un tipo de datos Concreto. La declaración de una variable puede realizarse comenzando con var. Principalmente, existen dos maneras de otorgar valores iniciales a variables: . Mediante una sentencia de asignación. . Mediante un procedimiento de entrada de datos (por ejemplo: 'read')
Es un grupo de datos que puede variar o alterarse durante la ejecución del algoritmo o la ejecución del programa, se les identifica por los siguientes atributos: El Nombre o identificador que se le asigna El tipo que describe el uso de la variable El valor de la variable que es la cantidad que tiene asociada en un determinado momento .Una variable de un tipo determinado solo puede tomar valores de ese tipo.
Ejemplo: ... i:=1; Read (n); while i < n do begin (* Cuerpo del bucle *) i := i + 1 end; ...
TIPOS DE VARIABLES Las variables puede ser identificadas de acuerdo a la funci贸n que asume en el algoritmo, como: CONTADOR: Sirve para llevar una cuenta con incrementos o decrementos constantes,
generalmente de 1 en 1.Ej.: Cumpleaños, variable que acumula el número De cumpleaños año con año Requiere de las siguientes instrucciones: Cumpleaños=1 Cumpleaños=cumpleaños + 1 //inicializar en uno Aumenta en uno cada año //cumpleaños ACUMULADOR Sirve para llevar una suma o cuenta de diferentes valores(acumular). Ej.: SEdad variable que almacena la suma de las edades de una cantidad de personas. Requiere de las siguientes instrucciones: SEdad = 0 SEdad = SEdad + edad incrementa en el edad
// inicializa en cero // SEdad se
Inicializar, significa poner en blanco o en cero una variable o campo Antes de su utilización. Los acumuladores y contadores por lo general se inicializan encero. VARIABLE DE TRABAJO Campo que almacena temporalmente el resultado de alguna operación. No es variable de entrada y de salida. Ej.: Me piden encontrar el área de un cuadrado, para ello necesito el valor para el Lado :AREACUADRADO = LADO x LADO DATOS Para la computadora es una secuencia debits 0 ó 1. Sin embargo los lenguajes de alto nivel permiten ignorar los detalles de la representación interna Dependiendo del nivel de abstracción del lenguaje utilizado.
1 .-TIPOS DE DATOS PRIMITIVOS Datos numéricos: Conjunto de los valores numéricos. Pueden representarse en dos formas: Entero: Subconjunto de los números enteros pueden ser + o -, no tienen componentes fraccionarios. Real: Subconjunto de los números reales + ó - , los números reales siempre tienen Punto decimal Datos lógicos: De tipo lógico, también denominado booleano, verdadero o falso. Datos cadena: Conjunto finito y ordenado de caracteres.
DIAGRAMA DE FLUJO DE DATOS
DIAGRAMA DE FLUJO DE DATOS Es una representación gráfica para la maceta del "flujo" de datos a través de un sistema de información. Un diagrama de flujo de datos también se puede utilizar para la visualización de procesamiento de datos (diseño estructurado). Es una práctica común para un diseñador dibujar un contexto a nivel de DFD que primero muestra la interacción entre el sistema y las entidades externas. Este contexto a nivel de DFD se "explotó" para mostrar más detalles del sistema que se está modelando. Los diagramas de flujo de datos fueron inventados por Larry Constantina, el desarrollador original del diseño, basado en el modelo computación de Martin y Estrin: "flujo gráfico de datos" . Los diagramas de flujo de datos (DFD) son una de las tres perspectivas esenciales de Análisis de Sistemas Estructurados y Diseño por Método SSADM. El patrocinador de un proyecto y los usuarios finales tendrán que ser informados y consultados en todas las etapas de una evolución del sistema. Con un diagrama de flujo de datos, los usuarios van a poder visualizar la forma en que el
sistema funcione, lo que el sistema va a lograr, y cómo el sistema se pondrá en práctica. El antiguo sistema de diagramas de flujo de datos puede ser elaborado y se comparó con el nuevo sistema de diagramas de flujo para establecer diferencias mejoras a aplicar para desarrollar un sistema más eficiente. Los diagramas de flujo de datos pueden ser usados para proporcionar al usuario final una idea física de cómo resultarán los datos a última instancia, y cómo tienen un efecto sobre la estructura de todo el sistema. La manera en que cualquier sistema es desarrollado puede determinarse a través de un diagrama de flujo de datos. Modelo de datos. Representan los procesos o funciones que debe llevar a cabo un sistema en distintos niveles de abstracción y los datos q fluyen entre las funciones. Los procesos más complejos se descomponen en nuevos diagramas hasta llegar a procesos sencillos.
COMPONENTES DE LOS DFD
* PROCESOS (burbujas): representan la parte del sistema que transforma ciertas entradas en ciertas salidas. * FLUJOS: representan los datos en movimiento. Pueden ser flujos de entrada o flujos de salida. Los flujos conectan procesos entre sí y también almacenes con procesos. * ALMACENES: representan datos almacenados. Pueden ser una base de datos, un archivo físico, etc. * TERMINADORES: representan entidades externas que se comunican con el sistema. Esas entidades pueden ser personas, organizaciones u otros sistemas,
pero no pertenecen al sistema que se está modelando. Existen procesos y flujos especiales llamados procesos de control y flujos de control. Se emplean para modelar sistemas en tiempo real. Los flujos de control son señales o interrupciones, en tanto los procesos de control son burbujas que coordinan y sincronizan otros procesos. Los procesos de control sólo se conectan con flujos de control. Los flujos de control de salida "despiertan" otras burbujas, en tanto los flujos de control de entrada, especifican que una tarea terminó o se presentó un evento extraordinario.
REPRESENTACIÓN DE UN SISTEMA EN DFD Un sistema puede representarse empleando varios diagramas de flujos de datos, cada flujo de datos puede representar una parte "más pequeña" del sistema. Los DFD permiten una partición por niveles del sistema. El nivel más general se representa con un DFD global llamado diagrama de contexto. El diagrama de contexto DFD representa a todo el sistema con una simple burbuja o proceso, las entradas y salidas de todo el sistema, y las interacciones con los terminadores.
COMPLEMENTOS DEL DFD Los DFD suelen servir para comprender fácilmente el funcionamiento de un sistema. De todas maneras, no es la única herramienta para diagramar sistemas, es más, se debe complementar con otras herramientas para agregar comprensión y exactitud al DFD.
EJERCICIOS DE DIAGRAMAS DE FLUJO DE DATOS
http://www.slideshare.net/luismarlmg/diagrama-de-flujos-ejemplos
https://es.wikipedia.org/wiki/Algoritmo
https://www.google.com.pe/search?q=diagrama+de+flujo+de+datos&tbm=isch&tbo=u&sourc e=univ&sa=X&ei=WX3kUa71IciDyAHlooHoCw&ved=0CCkQsAQ&biw=1280&bih=693
http://www.adrformacion.com/cursos/calidad08/leccion3/tutorial2.html
http://diagramasdefluj.blogspot.com/
http://fidecomp.morelos.gob.mx/Documentos.html
Hemos llegado a la conclusi贸n que los logaritmos y los diagramas de flujo de datos son muy importantes en nuestro aprendizaje en la vida diaria como en lo profesional
kkk