Diagramas de flujo – Algoritmos volumen II

¡Bienvenidos un día más a un nuevo rootie queridos amigos! Hoy volvemos a la carga con los Algoritmos donde lo dejamos en la anterior entrega. Después de definir lo que es un algoritmo, para qué sirve y ver el pseudocódigo, hoy vamos a ver otra herramienta de gran utilidad a la hora de resolver y ayudarnos a comprender cómo han de funcionar nuestras soluciones. Estamos hablando, por supuesto, de los Diagramas de flujo. 

Diagramas de flujo, información básica.

Como siempre, lo primero vamos a definir lo que son los diagramas de flujo:

El diagrama de flujo o diagrama de actividades es la representación gráfica de un algoritmo o proceso. – Wikipedia (¡Pero lo podría haber definido yo solito!)

Como podemos ver, la definición es clara y concisa, ampliando esta definición, podemos agregar que en los diagramas de flujo representamos cada paso del proceso con un símbolo en concreto, que contendrá una breve descripción del paso en el que nos encontramos. Los diferentes pasos del diagrama se relacionan entre sí de manera secuencial y esta relación se representa utilizando flechas, que indicarán la dirección del flujo.

Cuando queramos realizar un diagrama de flujo debemos establecer los limites del proceso, así como el nivel de detalle que vamos a utilizar en el diagrama. También debemos establecer el alcance que tendrá, lo que nos identificará tanto el inicio como el fin del diagrama.

Herramientas.

Para crear diagramas de flujo, mas allá de un PDA (Papel de Apuntar, disculpadme el chiste malo) podemos utilizar diferentes opciones tanto online como offline:

  • Microsoft Visio ($$$$)
  • DIA – Opensource
  • Diagramo – Online y opensource

Para los ejemplos e imágenes de este post vamos a usar DIA porque:

Lo habéis adivinado.
Lo habéis adivinado.

Creando un diagrama de flujo.

Cuando queremos crear diagramas de flujo tenemos que  utilizar una serie de símbolos definidos y que fueron estandarizados por el ANSI, esto hará que nuestros diagramas sean entendibles por cualquier persona con los conocimientos necesarios, en cualquier país del mundo. A continuación vamos a ver los más básicos (la lista completa aquí):

simbolos-diagramas-de-flujo

 

  1. Inicio / Fin: Representa el inicio o fin de nuestro diagrama de flujo.
  2. Procesos: Representa la asignación de un valor o la ejecución de una operación.
  3. Entrada: Representa la entrada / salida de datos.
  4. Decisión: Representa una comparación de valores (una sentencia if).

Para elaborar un buen diagrama de flujo, hemos de tener en cuenta los siguientes puntos:

  • El diagrama debe tener un inicio y un fin.
  • Las líneas de flujo han de ser horizontales o verticales.
  • Se ha de evitar el cruce de líneas.
  • Toda línea de flujo ha de estar conectada
  • Los símbolos se han de poder leer de arriba hacia abajo en caso de diagrama vertical o de izquierda a derecha en caso de diagrama horizontal.
  • El texto escrito dentro de un símbolo ha de ser breve y conciso.
  • Se ha de evitar, tanto como sea posible, el uso de lenguaje de programación en los símbolos.

Una vez que ya conocemos los símbolos básicos y hemos enumerado las recomendaciones a seguir, vamos a ver un ejemplo de diagrama de flujo.

¡El ejemplo!

Se quiere imprimir por pantalla todos los números pares del 1 al 10000 y una vez haya terminado, que se muestre  el mensaje «Terminado» y finalice, antes de comenzar el programa nos pedirá autorización para proceder, de no dársela mostrara el mensaje «No autorizado» y finalizará.

Empecemos con un simple pseudocódigo (para refrescar y tener un bueno punto de inicio)

Ahora que ya tenemos nuestro pseudocódigo donde hemos desgranado el problema y diseñado una solución, deberemos transformar este en un diagrama, utilizando los símbolos adecuados, para este problema resultaría este diagrama de flujo, pero como todo en IT, es discutible y se puede hacer de muchas formas diferentes, así que no os quedéis con el resultado sino con el concepto.

diagramas-de-flujo-numeros-pares

 

Como podéis observar, el diagrama representa todos los pasos que deberán seguirse para resolver nuestro problema, de una forma eficaz y completa, con lo que en la siguiente fase, que sería la codificación en el lenguaje de tu elección sólo tendrías que «traducir» este diagrama en los comandos adecuados para obtener una solución.

No como el algoritmo infinito de Sheldon…

¡Y hasta aquí el post de hoy queridos rooters! Espero que os esta entrada os sea de ayuda y ya sabéis, cualquier comentario, duda o insulto en nuestros comentarios o redes sociales, estaremos encantados de responder.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *