Algoritmos: Diagramas de flujo

Las herramientas más utilizadas para representar los algoritmos son el diagrama de flujo y el pseudocódigo.

add
CUAIEED

Algoritmos: Diagramas de flujo

El análisis de un problema y la construcción de los algoritmos para solucionarlo, implican un proceso lógico que puede efectuarse de forma individual o grupal. Éste sólo es el primer paso de la solución, posteriormente debe revisarse para encontrar posibles errores u omisiones en la misma, pedir el punto de vista de otras personas y finalmente llevar a cabo el algoritmo. Cada una de estas acciones necesita, generalmente, comunicar el algoritmo a otras personas. 

  En este caso, la comunicación oral del algoritmo es poco práctica porque se presentan problemas derivados de la diferencia de conceptos e incluso omisión de detalles. Por ello la mejor opción es utilizar herramientas que nos permiten plasmar en un lenguaje común la solución. Las herramientas más utilizadas para representar los algoritmos son el diagrama de flujo y el pseudocódigo.

Diagramas de flujo

Los diagramas de flujo son una herramienta para la representación gráfica de un algoritmo a través de símbolos, que corresponden a cada uno de los diferentes tipos de estructuras de control (secuencia, selección e iteración).

Los beneficios que nos proporcionan son:

  • Favorecer la comprensión e interpretación de cada uno de los pasos del algoritmo.
  • Identificar los problemas y las oportunidades de mejora del algoritmo.
  • Mostrar claramente las entradas y salidas esperadas.
  • Facilitar la programación o ejecución del algoritmo.

Diagramas de flujo y su simbología.

Los diagramas de flujo se utilizan para describir gráficamente un algoritmo, y su simbología muestra la solución de un problema con una trayectoria de inicio a fin.

Sus características fundamentales son:

  • El flujo de los pasos es de arriba hacia abajo y de izquierda a derecha.
  • Es una secuencia de pasos:
    • Inicio del proceso,
    • Entrada de datos,
    • Proceso a realizarse,
    • Salida de los datos procesados y
    • Fin del proceso.
  • Existe siempre un camino que permite llegar a una solución.
  • Existe un único inicio del proceso.
  • Existe uno o más puntos de fin para el proceso de flujo.
  • Solamente emplea líneas de flujo horizontal y/o vertical.
  • Evita el cruce de líneas (usando los conectores)
  • Deben utilizarse los conectores sólo cuando sea necesario.
  • No tienen líneas de flujo sin conectar.
  • El lenguaje es conciso y claro

Estas características se representan bajo la siguiente simbología:

  • trending_flatFlujo

    Las flechas son utilizadas para denotar la dirección del flujo del algoritmo flujo

  • trending_flatInicio/Fin

    Símbolo utilizado para indicar el Inicio y el Fin del diagrama de flujo.

    El Inicio debe tener una línea de salida y el fin una línea de entrada (y nada más).

  • trending_flatEntrada/Salida

    Símbolo utilizado para denotar la entrada o salida de datos.

  • trending_flatProceso

    Símbolo usado para representar un proceso. En su interior se expresan asignaciones, operaciones aritméticas o lógicas y con datos alfanuméricos.

    Cada rectángulo tiene una línea de entrada y una sola de salida sobre los puntos medios de lados distintos.

  • trending_flatEscritura

    Símbolo utilizado para representar la impresión de un resultado. Expresa la escritura.

  • trending_flatSelección sencilla

    Símbolo utilizado para representar una decisión. En su interior se almacena una condición y dependiendo del resultado de la evaluación de la misma se sigue por una de las ramas o caminos alternativos.

    Cada rombo debe tener una línea de entrada y dos de salida (verdadero y falso, respectivamente) sobre vértices distintos.

  • trending_flatSelección múltiple

    Dada una expresión permite escoger una opción entre muchas.

  • trending_flatIteración (Mientras)

    Símbolo del MIENTRAS dada una expresión al principio de la iteración, esta es evaluada. Si la condición es verdadera realizará el ciclo, si es falsa, la repetición cesará.

  • trending_flatIteración (Desde/Hasta)

    Símbolo DESDE/HASTA. Esta estructura de control se utiliza cuando se conoce de antemano el número de iteraciones

  • trending_flatIteración (Repite mientras)

    Símbolo REPITE HASTA. Funciona igual que la estructura MIENTRAS, con la diferencia que al menos una vez hará el grupo de instrucciones y luego evaluará una condición. Si la condición evaluada es falsa continua dentro del ciclo y si es verdadera termina la iteración.

  • trending_flatConector misma página

    CONECTOR dentro de página. Representa la continuidad del diagrama dentro de la misma página.

  • trending_flatConector otra página

    CONECTOR fuera de página. Representa la continuidad del diagrama en otra página.

Ejemplo de un diagrama de flujo

A continuación se ilustra la solución al problema que consiste en otorgar el permiso de conducir solo a personas mayores de 18 años.

  • Inicio de algoritmo
  • Entrada de edad
  • Decide si edad es mayor o igual a 18
  • Si: Despliega “licencia otorgada”
  • No: Despliega “licencia negada”
  • Fin de algoritmo.

Autoevaluación

Construir el diagrama de flujo que resuelve un problema.

Realiza un diagrama de flujo que lee una calificación o nota académica y decide si es aprobatoria o no.

Puedes utilizar un procesador de palabra como word o bien utilizar una herramienta para realizar diagramas de flujo como DIA o Draw.io, búscalas en tu navegador e instala la herramienta si es necesario.