Vedi Wikipedia: Diagramma di flusso
La descrizione grafica di un algoritmo utilizza poche figure di base standardizzate: linea, freccia, rettangolo, parallelogramma, rombo, cerchio.
Un cerchio, o ellisse, con l’etichetta di inizio delle operazioni
inizio, start, begin, …
Un cerchio, o ellisse, con l’etichetta di fine delle operazioni
fine, stop, end, halt, …
Un parallelogramma con la descrizione di un’operazione di
- input: input, in, read, leggi, …
- output: output, out, write, scrivi, …
Un rettangolo con la descrizione di un’operazione / ordine (assegnazione, …)
Una freccia specifica la transizione dell’esecuzione da un oggetto all’altro del diagramma di flusso

Un rombo con all’interno un’espressione logica e due frecce di uscita che indicano la scelta del percorso se l’espressione è
- vera: sì, vero, true, T, …
- falsa: no, falso, false, F, …

Si utilizza un cerchio per riunire i flussi generati con i rombi

Il diagramma di flusso a destra (realizzato con l’applicazione DIA) rappresenta l’algoritmo per le equazioni di primo grado.
Osserva gli accorgimenti che ho utilizzato per migliorare la leggibilità (non sono standard!)
- Il blocco iniziale è in alto
- Le frecce sono dirette verso il basso
- Le frecce in uscita dal blocco di scelta
- Sono sempre etichettate
- La freccia Sì va a sinistra
- La freccia No va a destra
- Il percorso Sì è di colore blu
- Il percorso No è di colore rosso
- Il blocco finale è in basso
Approfondimenti
Un diagramma di flusso rappresenta un certo algoritmo se
- è presente il blocco iniziale
- è presente il blocco finale
- il numero di blocchi è finito
- ogni blocco, tranne quello iniziale, ha una freccia in ingresso ed è raggiungibile partendo dal blocco iniziale
- ogni blocco, tranne quello finale, ha una freccia in uscita e può raggiungere il blocco finale
- il blocco di scelta ha due frecce in uscita
- una freccia collega due blocchi.
Inoltre…
- ogni operazione specificata è comprensibile per l’esecutore
- ogni operazione può essere eseguita in tempo finito dall’esecutore
- per ogni possibile combinazione dei dati in ingresso l’esecutore parte dal blocco iniziale e può raggiungere in tempo finito il blocco finale.
Versione alternativa
Un diagramma di flusso può essere manipolato graficamente mantenendo inalterato l’algoritmo

- Tutte le etichette in inglese
- Il blocco START in alto a sinistra
- I blocchi di INPUT/OUTPUT disposti in orizzontale
- Le frecce Yes verso il basso
- Le frecce No verso destra
- Il blocco STOP in basso a destra.
RISORSE ONLINE
- Alcuni IDE a partire dal diagramma di flusso generano anche lo pseudocodice corrispondente e lo eseguono!
AlgoBuild – Flowgorithm – LARP – RAPTOR – Visual Logic – WizBang – … - Diagrammi di flusso, mappe concettuali, schemi, …
DIA – draw.io – Mind Map – yEd – Diagramo, Cacoo, Creately, Lucidchart, smartdraw, … - Solo diagrammi di flusso
SFC (Structured Flow Chart Editor) – …