Un diagrama de flujo representa gráficamente un algoritmo o parte de él utilizando símbolos como rectángulos, diamantes y óvalos conectados por flechas. Los diagramas de flujo ayudan a comprender estructuras de control como si y mientras y pueden construirse independientemente de un lenguaje de programación específico. Siguen reglas como indicar claramente el inicio y fin, organizar los símbolos de arriba a abajo y de izquierda a derecha, y no cruzar líneas de flujo.