lunes, 23 de noviembre de 2009

historia de los algoritmos

HISTORIA DEL ALGORITMO.

El término proviene del matemático árabe Al’Khwarizmi, que escribió un tratado sobre los números. Este texto se perdió, pero su versión latina, Algoritmi de Numero Indorum, sí se conoce.
El trabajo de Al’Khwarizmi permitió preservar y difundir el conocimiento de los griegos (con la notable excepción del trabajo de Diofanto) e indios, pilares de nuestra civilización. Rescató de los griegos la rigurosidad y de los indios la simplicidad (en vez de una larga demostración, usar un diagrama junto a la palabra Mira). Sus libros son intuitivos y prácticos y su principal contribución fue simplificar las matemáticas a un nivel entendible por no expertos. En particular muestran las ventajas de usar el sistema decimal indio, un atrevimiento para su época, dado lo tradicional de la cultura árabe.
La exposición clara de cómo calcular de una manera sistemática a través de algoritmos diseñados para ser usados con algún tipo de dispositivo mecánico similar a un ábaco, más que con lápiz y papel, muestra la intuición y el poder de abstracción de Al’Khwarizmi. Hasta se preocupaba de reducir el número de operaciones necesarias en cada cálculo. Por esta razón, aunque no haya sido él el inventor del primer algoritmo, merece que este concepto esté asociado a su nombre.
Los babilonios que habitaron en la antigua Mesopotania, empleaban unas pequeñas bolas hechas de semillas o pequeñas piedras, a manera de “cuentas” y que eran agrupadas en carriles de caña. Más aún, en 1.800 A.C. un matemático babilónico inventó los algoritmos que le permitieron resolver problemas de cálculo numérico.
En 1850 A.C., un algoritmo de multiplicación similar al de expansión binaria es usado por los egipcios.
La teoría de las ciencias de la computación trata cualquier objeto computacional para el cual se puede crear un buen modelo. La investigación en modelos formales de computación se inició en los 30’s y 40’s por Turing, Post, Kleene, Church y otros. En los 50’s y 60’s los lenguajes de programación, compiladores y sistemas operativos estaban en desarrollo, por lo tanto, se convirtieron tanto en el sujeto como la base para la mayoría del trabajo teórico.
El poder de las computadoras en este período estaba limitado por procesadores lentos y por pequeñas cantidades de memoria. Así, se desarrollaron teorías (modelos, algoritmos y análisis) para hacer un uso eficiente de ellas. Esto dio origen al desarrollo del área que ahora se conoce como “Algoritmos y Estructuras de Datos”. Al mismo tiempo se hicieron estudios para comprender la complejidad inherente en la solución de algunos problemas. Esto dió origen a lo que se conoce como la jerarquía de problemas computacionales y al área de “Complejidad Computacional”.


concepto de algoritmo
En matemáticas, ciencias de la computación y disciplinas relacionadas, un algoritmo (del latín, dixit algorithmus y éste a su vez del matemático persa Al Juarismi[1] ) es una lista bien definida, ordenada y finita de operaciones que permite hallar la solución a un problema. Dado un estado inicial y una entrada, a través de pasos sucesivos y bien definidos se llega a un estado final, obteniendo una solución. Los algoritmos son objeto de estudio de la algoritmia.En la vida cotidiana se emplean algoritmos en multitud de ocasiones para resolver diversos problemas. Algunos ejemplos se encuentran en los instructivos (manuales de usuario), los cuales muestran algoritmos para usar el aparato en cuestión o inclusive en las instrucciones que recibe un trabajador por parte de su patrón. También existen ejemplos de índole matemática, como el algoritmo de la división para calcular el cociente de dos números, el algoritmo de Euclides para calcular el máximo común divisor de dos enteros positivos, o el método de Gauss para resolver un Sistema lineal de ecuaciones.
http://es.wikipedia.org/wiki/Algoritmo
ALGORITMOConjunto de acciones o secuencias de operaciones ejecutadas en un determinado orden para resolver un problema.AcciónAcontecimiento producido por un actor en un tiempo finito que produce un resultado definido y preciso y además genera cierta transformación.Analizaremos la acciónExisten diferentes tipos de acciones:Acción simple: Realizadas directamenteAcción compleja: No se pueden realizar directamente sino a través de una descomposición de acciones más simples (diseño Top-down).Transformación Generada en los elementos intervinientes. Para determinar la transformación debo conocer el ESTADO.
http://www.monografias.com/trabajos59/concepto-algoritmos/concepto-algoritmos.shtml
podemos definir algoritmo como un conjunto de pasos o instruciones finito que se deben seguir para realizar una determinada tarea.
http://www.error500.net/garbagecollector/archives/categorias/apuntes/concepto_de_algoritmo.php
concepto de clase del instituto campechano.
algoritmo son los pasos realizadosen un orden para resolver los problema sel que fuese,o es allar una solucion aun problema por medio de un lista definida,ordenada y finita.





TIPOS DE ALGORITMOS

Tipos de AlgoritmosCualitativos: Son aquellos en los que se describen los pasos utilizando palabras.Cuantitativos: Son aquellos en los que se utilizan cálculos numéricos para definir los pasos del proceso.
Existen dos tipos y son llamados así por su naturaleza:Cualitativos: Son aquellos en los que se describen los pasos utilizando palabras.Cuantitativos: Son aquellos en los que se utilizan cálculos numéricos para definir los pasos del proceso.
http://www.desarrolloweb.com/articulos/2143.phpAlgoritmos estáticos, es decir, algoritmos que funcionan siempre igual, independientemente del tipo de problema tratado. Por ejemplo, los sistemas basados en el método de resolución. Algoritmos probabilísticos, es decir, algoritmos que no utilizan valores de verdad booleanos sino continuos. Por ejemplo, los sistemas basados en lógica difusa. Algoritmos adaptativos, es decir, algoritmos con cierta capacidad de aprendizaje. Por ejemplo, los sistemas basados en redes neuronales.


CONSTANTES Y VARIABLES

REGLA DE DECISIÓN - PRUEBA DE CONTRASTESi ya están formuladas las hipótesis, ¿bajo que condiciones podrá ser rechazada la hipótesis nula?. O lo que es lo mismo, ¿cuando consideraremos que tenemos evidencias suficientes de la hipótesis alternativa?. Este es el momento de elegir la regla de decisión, es decir , establecer un criterio que permita rechazar o no la hipótesis nula.Por lo general , una prueba o regla de decisión para contrastar una hipótesis consiste en un suceso o resultado experimental S, cuya posibilidad de ocurrencia sea muy pequeña siendo cierta la hipótesis H0, es decir:(Nivel de significación)Si ocurre el suceso S, rechazaremos la hipótesis H0, y no lo haremos en caso contrario.La justificación es simple: o bien la hipótesis es cierta y se ha producido un suceso de muy pequeña probabilidad, o bien la hipótesis es falsa. Es como si hiciésemos una reducción al absurdo, sólo que la contradicción con la hipótesis de partida no se establece de forma absoluta, sino en términos de probabilidad.Si ocurre S, parece pues natural que apostemos por la segunda opción y rechacemos la hipótesis H0, haciendonos cargo de que existe una probabilidad a (es la probabilidad de que haya ocurrido S aún siendo cierta H0) de equivocarnos.
http://www.isftic.mepsyd.es/w3/eos/MaterialesEducativos/mem2001/estadistica/ampliatests.htm
Se trata de variables que surgen cuando se estudian dos características asociadas a la observación de un fenómeno.Ejemplo 1.- Estudiamos la talla, medida en cm. y el peso, medido en kg. de un grupo de 10 personas, podemos obtener los siguientes valores:TALLA (cm)160165168170171175175180180182PESO (kg)55585861676266747983Podemos llamar X a la talla e Y al peso con lo que se obtendría la variable bidimensional (X, Y) que toma 10 valores, que son las 10 parejas de valores de la tabla anterior: (160,55), (165,58), etc.Cuando el número de valores de la variable bidimensional no es muy grande, los mismos se expresan en una tabla semejante a la anterior, pero en algunos casos el número de "parejas" de valores (x,y) es grande y además muchos de ellos aparecen repetidos; en este caso se utiliza una "Tabla de doble entrada"
http://descartes.cnice.mec.es/materiales_didacticos/Variables_estadisticas_bidimensionales_regresion_correlacion/Regresion_1.htm#Variables%20estadísticas%20bidimensionales
Contrastes T en un modelo lineal uniecuacional. Para desarrollar la presente cuestión pasamos a desarrollar una serie de puntos; 1.- Realizamos un análisis sobre la muestra de una población pasando a desarrollar una serie de objetivos tales como una especificacion donde las variables rpedeterminadas X, van a explicar o determinar una variable endógena y; - estimación de parámetros - validación de modelos estimados que se realizan mediante *la demida de grado de ajuste * análisis de los residuos * coeficiente de determinación2.- En el segundo paso establece mos las hipótesis sobre las q consideramos que se puede estimar la muestra H0; B = 0 H1 B = 0 si aceptramos H0 se elimina xj como variable explicativa de las variaciones de la vriable endógena, si aceptamos H1 consideramos la variable explicativa xy como aceptable. 3.- Nos basamos en unos datos obtenidos n de una poblacion que suelen sre mayores de los que posteriormente van a considerarse3. 4.- Forma de procesar los datos. Utilizando el estadístico t util para el presente modelo q se desarrolla mediante la fórmula T=bj/Sbj= njj/Se raiz ajjSi Ho es cierto su distribución muestral T e t (n-k-1)5.- regla de decisión. si fuese cierta la hipótesis Ho la región de aceptacion se encontraría cercana a 0 (-t /2, +t /2) El nivel de significación que representamos mediante determina la máxima probabilidad de cometer error de tipo I - si rechazamos H0 siendo cierta cometemos error de tipo I si rechazamos H1 siendo cierta cometemos error de tipo II6. - Debemos estimar valores de comprendidos ,015 =0,05entre (o,05 y 0,15) teniendo en cuenta sobre todo que estos deben ser superiores a 0,05 ya que si no así casi siempre se aceptaría H0, eludiendo multitud de variables exógenas. Podemos calificar la región H1 como la crítica, siendo H0 aceptacion del modelo P = 2 Pr (!T! mayor !t!). Al aumentar el valor de t la probabilidad límite se reduce. así se produce una variación es la aceptación de Co a Ci. La probabilidad P = Pr (Tbj !mayor! !tbj!) 6.- Tomamos a continuación los datos de los estadísticos T= bj/S bj Posteriormente relacionamos la probabilidad "p" con el valor antes mencionado " " 1 si p mayor o = aceptamos Co 1 si p meno r aceptamos C1 ejemplo 1 p= 0,25 =0,05 ejemplo 2 p= 0
http://www.xuletas.es/ficha/contraste-t-2/
Conectores Distributivos y de Contraste-Los conectores distributivos.- sirven para presentar ideas entre las que se da una relación de alternancia. Los más frecuentes son: por una parte...por otra (parte); pormun lado... por otro(lado); unas veces... otras veces; unos... otros.-Los conectores de contraste u oposición.-señalan que los enunciados que aparecen a continuacióncontienen alguna oposición, contraste o diferencia con respecto a la información anterior. Los principales conectores de contraste son: pero, sin embargo, no obstante, antes bien, ahora bien, en cambio, por el contrario...
http://www.xuletas.es/ficha/conectores-distributivos-y-de-contraste/

CONTADOR Y ACUMULADOR

ContadoresUn contador es una variable cuyo valor se incremento o decrementa,Una forma de controlar a un bucle es mediante un contadorLos procesos repetitivos son la base del uso de las computadoras.En estos procesos se necesitan normalmente contar los sucesos o acciones internas del bucle,como pueden ser los elementos de un fichero de interacciones a realizar por el bucle.El contador se muestra en el ejemplo siguiente con la variable CONT.Este es un diagrama de flujo para un algoritmo que se desea repetir 50 veces.
AcumuladorUn acumulado es una variable cuya misión es almacenar cantidades variables resultantes de sumas sucesivas.Realiza la misma función que un contador con deferencia de que el incremento o decremento de cada suma es variable en lugar de constante como en el caso del contador.Se representa con la instrucción S S+N, donde N es una variable y no una constante.Decisión o selecciónCuando se quiere especificar dos o mas caminos alternativos en un algoritmos se deben utilizar estructuras de decisión o solución. Una instrucción de decisión o selección evalúa una condición y en función del resultado de esa condición se bifurca en un determinado punto.
http://conceptodeprograma.tripod.com/paginaprincipal.htm
En electrónica digital, un contador (counter en inglés) es un circuito secuencial construido a partir de biestables y puertas lógicas capaz de realizar el cómputo de los impulsos que recibe en la entrada destinada a tal efecto, almacenar datos o actuar como divisor de frecuencia. Habitualmente, el cómputo se realiza en un código binario, que con frecuencia será el binario natural o el BCD natural (contador de décadas).Existen diversos tipos de contadores:Contadores de rizado.Contadores paralelos.Contadores de rizado mod-6.Contador Johnson. Activa una sola salida entre varias. En respuesta al pulso de conteo, la salida siguiente pasa a ser la activa. No se emplea un contador binario seguido de un decodificador debido a que, al conmutar entre dos estados, podría producir pulsos espúrios en otras salidas. El 4017 es un contador johnson de 10 estados.“Se utilizan para llevar el control del número de ocasiones en que se realiza una operación o se cumple una condición. Los incrementos son generalmente de uno en uno.”CONTADOR:Un contador es una variable cuyo valor se incrementa o decrementa en una cantidad constante cada vez que se produce un determinado suceso o acción. Los contadores se utilizan con la finalidad de contar sucesos o acciones internas de un bucle; deben realizar una operación de inicialización y posteriormente las sucesivas de incremento o decremento del mismo. La inicialización consiste en asignarle al contador un valor. Se situará antes y fuera del bucle.Representación:¬ nombre del contador> + Si en vez de incremento es decremento se coloca un menos en lugar del más.Ejemplo: i = i + 1ACUMULADOR O TOTALIZADOR :Es una variable que suma sobre sí misma un conjunto de valores para de esta manera tener la suma de todos ellos en una sola variable. La diferencia entre un contador y un acumulador es que mientras el primero va aumentando de uno en uno, el acumulador va aumentando en una cantidad variable.Representación: ¬ + Valores de inicializaciónSuma = 0Producto = 1
http://gencervel.wordpress.com/2008/01/22/contadores-y-acumuladores/
CONTADOR: Un contador es una variable cuyo valor se incrementa o decrementa en una cantidad constante cada vez que se produce un determinado suceso o acción. Los contadores se utilizan con la finalidad de contar sucesos o acciones internas de un bucle; deben realizar una operación de inicialización y posteriormente las sucesivas de incremento o decremento del mismo. La inicialización consiste en asignarle al contador un valor. Se situará antes y fuera del bucle.Representación: ¬ nombre del contador> + Si en vez de incremento es decremento se coloca un menos en lugar del más.Ejemplo: i = i + 1ACUMULADOR O TOTALIZADOR :Es una variable que suma sobre sí misma un conjunto de valores para de esta manera tener la suma de todos ellos en una sola variable. La diferencia entre un contador y un acumulador es que mientras el primero va aumentando de uno en uno, el acumulador va aumentando en una cantidad variable.Representación: ¬ + Ejemplo: Calcular la suma de los cuadrados de los primeros 100 enteros y escribir el resultado. Se desea resolver el problema usando estructura Desde, Mientras y luego Repetir.
http://www.mailxmail.com/curso-aprende-programar/estructuras-basicas

PSEUDOCODIGO
Un pseudocódigo (falso lenguaje), es una serie de palabras léxicas y gramaticales referidos a los lenguajes de programación, pero sin llegar a la rigidez de la sintaxis de estos ni a la fluidez del lenguaje coloquial. Esto permite codificar un programa con mayor agilidad que en cualquier lenguaje de programación, con la misma validez semántica, normalmente se utiliza en las fases de análisis o diseño de Software, o en el estudio de un algoritmo. Forma parte de las distintas herramientas de la ingeniería de software. Es, netamente, lenguaje de tipo informático.Para probar el algoritmo se utiliza un Pseudo intérprete el cual se encuentra disponible para las plataformas GNU/Linux y Windows, es de código libre y está escrito en C++. El mismo se ejecuta en un Terminal.El pseudocódigo describe un algoritmo utilizando una mezcla de frases en lenguaje común, instrucciones de programación y palabras clave que definen las estructuras básicas. Su objetivo es permitir que el programador se centre en los aspectos lógicos de la solución a un problema.No siendo el pseudocódigo un lenguaje formal, varían de un programador a otro, es decir, no hay una estructura semántica ni arquitectura estándar. Es una herramienta ágil para el estudio y diseño de aplicaciones, veamos un ejemplo, que podríamos definir como: lenguaje imperativo, de tercera generación, según el método de programación estructurada.Pseudocódigo = Pseudo (Supuesto) + Código (Instrucción)
http://es.wikipedia.org/wiki/Pseudocódigo
un pseudocodigo no es una forma de programación. Se trata de una herramienta que los analistas de sistemas utilizan para comunicar a los programadores la estructura del programa que van a realizar, de forma de tener una idea bien clara de lo que se necesita programar.Digamos que el pseudo código es una forma de diagramar un algoritmo para resolver un determinado problema, sin atenerse a ningún lenguaje de programación en especial.Un algoritmo es un conjunto de procedimientos que permiten resolver un problema.En vez de escribir el programa directamente en un lenguaje de programación determinado (C, Basic, etc.), crearemos un borrador entendible para todos, para luego de tener bien en claro lo que se debe hacer, pasar a la programación.
http://www.monografias.com/trabajos40/pseudo-codigo/pseudo-codigo.shtml
Considerado como un lenguaje falso, el pseudocódigo es un lenguaje intermedio entre nuestro lenguaje y el de programación, debido a que quien lo utiliza se guía por una serie de normas pero sin llegar a usar una estructura tan rígida como la del lenguaje de programación.El objetivo al que apunta es que quien lo pone en práctica se centre más en la solución del algoritmo o el diseño de un software que en el programa que utiliza para crearlo. Y esto es posible porque es más fácil de manipular ya que no tiene que tener en mente el lenguaje en sí y además, más fácil de codificar.Por ejemplo, si alguien tiene que hacer un software con un fin determinado, utiliza un pseudocódigo propio en donde confluyen frases del lenguaje coloquial y algunas palabras de programación, y una vez que se logra concretar el software, se puede pasar al escalón siguiente que es el de la transformación al lenguaje de programación formal que se vaya a utilizar.De esta manera, al ser un lenguaje intermedio, no tiene una composición estandarizada por lo que no todos los programadores utilizan la misma sintaxis con exactitud. Pero a la vez, como es una herramienta que está un paso previo al lenguaje formal de programación, es fácil de transformar al que será ejecutado en la computadora.
http://www.mastermagazine.info/termino/6428.php

jueves, 20 de agosto de 2009

DIAGRAMAS DE FLUJO

Diagramas de flujo
Un diagrama de flujo es una forma de representar gráficamente los detalles algorítmicos de un proceso multifactorial. Se utiliza principalmente en programación, economía y procesos industriales, pasando también a partir de estas disciplinas a formar parte fundamental de otras, como la psicología cognitiva. Estos diagramas utilizan una serie de símbolos con significados especiales y son la representación gráfica de los pasos de un proceso. En computación, son modelos tecnológicos utilizados para comprender los rudimentos de la programación lineal.
Definición
Es la representación gráfica de flujo de un algoritmo o de secuencias rutinarias. Se basan en la utilización de diversos símbolos para representar operaciones específicas. Se les llama diagramas de flujo porque los símbolos utilizados se conectan por medio de flechas para indicar la secuencia de la operación.
Símbolos utilizados
Los símbolos que se utilizan para diseño se someten a una normalización, es decir, se hicieron símbolos casi universales, ya que, en un principio cada usuario podría tener sus propios símbolos para representar sus procesos en forma de Diagrama de flujo. Esto trajo como consecuencia que sólo aquel que conocía sus símbolos, los podía interpretar. La simbología utilizada para la elaboración de diagramas de flujo es variable y debe ajustarse a las normas preestablecidas universalmente para dichos símbolos o datos.
Características que debe cumplir un diagrama de flujo
En los diagramas de flujo se presuponen los siguientes aspectos:
Existe siempre un camino que permite llegar a una solución (finalización del algoritmo).
Existe un único inicio del proceso.
Existe un único punto de fin para el proceso de flujo (salvo del rombo que indica una comparación con dos caminos posibles).
Desarrollo del diagrama de flujo
Las siguientes son acciones previas a la realización del diagrama de flujo:
Identificar las ideas principales a ser incluidas en el diagrama de flujo. Deben estar presentes el dueño o responsable del proceso, los dueños o responsables del proceso anterior y posterior y de otros procesos interrelacionados, otras partes interesadas.
Definir qué se espera obtener del diagrama de flujo.
Identificar quién lo empleará y cómo.
Establecer el nivel de detalle requerido.
Determinar los límites del proceso a describir.
Los pasos a seguir para construir el diagrama de flujo son :
Establecer el alcance del proceso a describir. De esta manera quedará fijado el comienzo y el final del diagrama. Frecuentemente el comienzo es la salida del proceso previo y el final la entrada al proceso siguiente.
Identificar y listar las principales actividades/subprocesos que están incluidos en el proceso a describir y su orden cronológico.
Si el nivel de detalle definido incluye actividades menores, listarlas también.
Identificar y listar los puntos de decisión.
Construir el diagrama respetando la secuencia cronológica y asignando los correspondientes símbolos.
Asignar un título al diagrama y verificar que esté completo y describa con exactitud el proceso elegido.
Recomendaciones
A su vez, es importante que al construir diagramas de flujo, se observen las siguientes recomendaciones:
Evitar sumideros infinitos, burbujas que tienen entradas pero no salidas.
Evitar las burbujas de generación espontánea, que tienen salidas sin tener entradas, porque son sumamente sospechosas y generalmente incorrectas.
Ventajas de los diagrama de flujo
Favorecen la comprensión del proceso a través de mostrarlo como un dibujo. El cerebro humano reconoce fácilmente los dibujos. Un buen diagrama de flujo reemplaza varias páginas de texto.
Permiten identificar los problemas y las oportunidades de mejora del proceso. Se identifican los pasos redundantes, los flujos de los re-procesos , los conflictos de autoridad, las responsabilidades, los cuellos de botella, y los puntos de decisión.
Muestran las interfaces cliente-proveedor y las transacciones que en ellas se realizan, facilitando a los empleados el análisis de las mismas.
Son una excelente herramienta para capacitar a los nuevos empleados y también a los que desarrollan la tarea, cuando se realizan mejoras en el proceso.

Tipos de diagramas de flujos
Formato vertical: En él el flujo o la secuencia de las operaciones, va de arriba hacia abajo. Es una lista ordenada de las operaciones de un proceso con toda la información que se considere necesaria, según su propósito.
Formato horizontal: En él, el flujo o la secuencia de las operaciones, va de izquierda a derecha.
Formato panorámico: El proceso entero está representado en una sola carta y puede apreciarse de una sola mirada mucho más rápido que leyendo el texto, lo que facilita su comprensión, aun para personas no familiarizadas. Registra no solo en línea vertical, sino también horizontal, distintas acciones simultáneas y la participación de más de un puesto o departamento que el formato vertical no registra.
Formato Arquitectónico: Describe el itinerario de ruta de una forma o persona sobre el plano arquitectónico del área de trabajo. El primero de los flujo gramas es eminentemente descriptivo, mientras que los utilizados son fundamentalmente representativos.
http://es.wikipedia.org/wiki/Diagrama_de_flujo
Simbología por pasos.
Introducción.
Los diagramas de flujo son una manera de representar visualmente el flujo de datos a travéz de sistemas de tratamiento de información. Los diagramas de flujo describen que operaciónes y en que secuencia se requieren para solucionar un problema dado.
Un diagrama de flujo u organigrama es una representación diagramática que ilustra la secuencia de las operaciones que se realizarán para conseguir la solución de un problema. Los diagramas de flujo se dibujan generalmente antes de comenzar a programar el código frente a la computadora. Los diagramas de flujo facilitan la comunicación entre los programadores y la gente del negocio. Estos diagramas de flujo desempeñan un papel vital en la programación de un problema y facilitan la comprensión de problemas complicados y sobre todo muy largos. Una vez que se dibuja el diagrama de flujo, llega a ser fácil escribír el programa en cualquier idióma de alto nivel. Vemos a menudo cómo los diagramas de flujo nos dan ventaja al momento de explicar el programa a otros. Por lo tanto, está correcto decir que un diagrama de flujo es una necesidad para la documentación mejor de un programa complejo.
Reglas para dibujar un diagramas de flujo.
Los Diagramas de flujo se dibujan generalmente usando algunos símbolos estándares; sin embargo, algunos símbolos especiales pueden también ser desarrollados cuando séan requeridos. Algunos símbolos estándares, que se requieren con frecuencia para diagramar programas de computadora se muestran a continuación:
Inicio o fin del progra












Pasos, procesos o líneas de instruccion de programa de computo






Operaciones de entrada y salida





Toma de desiciónes y Ramificación






Conector para unir el flujo a otra parte del diagrama






Cinta magnética




Disco magnético






Conector de pagina






Líneas de flujo






Anotación




Display, para mostrar datos




Envía datos a la impresora




Observación: Para obtener la correcta elaboración de los símbolos, existen plantillas. Las puedes conseguir en Papelerías.
Simbolos gráficos
Dentro de los simbolos fundamentales para la creaación de diagramas de flujo, los símbolos gráficos son utilizádos especificamente para para operaciónes aritméticas y relaciónes condicionales. La siguiente es una lista de los símbolos más comunmente utilizados:
+
Sumar
-
Menos
*
Multiplicación
/
División
±
Mas o menos
=
Equivalente a
>
Mayor que
<>
Diferente de

Si

No

True

False
Reglas para la creacion de Diagramas
1. Los Diagramas de flujo deben escribirse de arriba hacia abajo, y/o de izquierda a derecha.
2. Los símbolos se unen con líneas, las cuales tienen en la punta una flecha que indica la dirección que fluye la información procesos, se deben de utilizar solamente líneas de flujo horizontal o verticales (nunca diagonales).
3. Se debe evitar el cruce de líneas, para lo cual se quisiera separar el flujo del diagrama a un sitio distinto, se pudiera realizar utilizando los conectores. Se debe tener en cuenta que solo se vana utilizar conectores cuando sea estrictamente necesario.
4. No deben quedar líneas de flujo sin conectar
5. Todo texto escrito dentro de un símbolo debe ser legible, preciso, evitando el uso de muchas palabras.
6. Todos los símbolos pueden tener más de una línea de entrada, a excepción del símbolo final.
7. Solo los símbolos de decisión pueden y deben tener mas de una línea de flujo de salida.
Ejemplos de diagramas de flujo

Diagrama de flujo que encuentra la suma de los primeros 50 numeros naturales


























Bueno, y ahora la descripción del diagrama anterior
Suma, es la variable a la que se le va agregando la valor de cada número natural. N, es el contador. Éste recorrerá lo números hasta llegar al 50.
· El primer bloque indica el inicio del Diagrama de flujo




El segundo bloque, es un Símbolo de procesos








En este bloque se asume que las variables suma y N han sido declaradas previamente y las inicializa en 0 para comenzar a el conteo y la suma de valores (Para declararlas existe el bloque Tarjeta perforada).
· El tercer bloque, es también un Símbolo de procesos








En éste paso se incrementa en 1 la variable N (N = N + 1). Por lo que, en la primera pasada esta N valdrá 1, ya que estaba inicializada en 0.
· El cuarto bloque es exactamente lo mismo que el anterior






Pero en éste, ya se le agrega el valor de N a la variable que contendrá la suma (En el primer caso contendrá 1, ya que N = 1).
· El quinto bloque es uno Símbolo de Toma de decisiones y Ramificación Lo que hay dentro del bloque es una pregunta que se le hace a los valores que actualmente influyen en el proceso (Por decir algo, no se como decirlo, soy muy sope :D)














¿Es N=50?, Obviamente la respuesta es no, ya que N todavía es 1. por lo que el flujo de nuestro programa se dirigirá hacía la parte en donde se observa la palabra no: Tercer Bloque, éste le sumará 1 (N=N+1) y vuelve a llegar a éste bloque, donde preguntará ¿Es N=50?... ¡No!, todavía es 2. Ha pues, regresa al Tercer bloque y vuelve hacer lo mismo. Y así hasta llegar a 50, obteniendo así la suma de los primeros 50 primeros números naturales.

Por último indicamos que el resultado será mostrado en la impresora (Este lo puedes cambiarlo por el display para mostrar datos).





· Fin del programa (o diagrama)