Diagramma di flusso

Esempio di diagramma di flusso di un algoritmo

In informatica il diagramma di flusso è una rappresentazione grafica delle operazioni da eseguire per l'esecuzione di un algoritmo. Ogni singolo passo è visualizzato tramite una serie di simboli standard.

Esso consente di descrivere tramite un linguaggio di modellazione grafico:

  • le operazioni da compiere;
  • la sequenza nella quale devono essere compiute, rappresentata con frecce di collegamento.

Per questa loro connotazione topologica i diagrammi di flusso possono essere ricondotti alla classe più ampia dei diagrammi a blocchi, che a loro volta rientrano nell'ancora più vasta categoria delle mappe concettuali, utilizzate soprattutto per la descrizione e la rappresentazione delle informazioni e della conoscenza.

Utilizzo

I diagrammi di flusso trovano la loro applicazione in vari ambiti, ma quello in cui storicamente si sono maggiormente affermati è stato quello informatico dove, solo in tempi più recenti, sono stati affiancati da altri strumenti metodologici quali lo pseudocodice e l'UML.

Blocchi elementari

Esistono varie notazioni per la rappresentazione con diagrammi di flusso.Tutte le notazioni sottendono a un meta-modello molto semplice, caratterizzato da una lettura sequenziale:

  1. si parte dal blocco iniziale
  2. si segue la freccia in uscita
  3. si giunge al blocco successivo e si effettua l'operazione descritta nel blocco
  4. si procede iterando i passi 2 e 3 fino a giungere al blocco finale.

Tra le operazioni si distinguono:

  • azioni, che comportano un'attività o un'elaborazione da svolgere
  • test, che indicano due o più direzioni in base a un fattore di decisione (vero o falso)
  • ingresso/uscita, che comportano l'immissione di informazioni dall'esterno oppure l'invio di informazioni verso l'esterno

La notazione più semplice e più frequentemente utilizzata prevede dunque 5 tipi di blocchi elementari:

blocco iniziale blocco finale
blocco di I/O blocco di elaborazione
blocco decisionale o test

Una combinazione di blocchi elementari descrive un algoritmo se:

  • viene usato un numero finito di blocchi
  • lo schema inizia con un blocco iniziale e termina con un blocco finale
  • ogni blocco soddisfa le condizioni di validità

Condizioni di validità

  • condizioni sui blocchi:
    • blocco azione e blocco lettura/scrittura: ogni blocco di questi due tipi ha una sola freccia entrante e una sola freccia uscente
    • blocco decisionale: ogni blocco di questo genere ha una sola freccia entrante e due frecce uscenti
  • condizioni sulle frecce:
    • ogni freccia deve entrare in un blocco
  • condizioni sui percorsi:
    • dal blocco iniziale deve essere possibile raggiungere ogni blocco
    • da ogni blocco dev'essere possibile raggiungere il blocco finale

Esempio

Dato l'algoritmo per il calcolo del fattoriale in maniera ricorsiva

un possibile diagramma di flusso per rappresentarlo:

Dove tale diagramma rappresenta una procedura ricorsiva, denominata "fatt", che richiama sé stessa.

Strumenti digitali

  • Software gratis: Draw.io è un software di diagrammi online gratuito per la creazione di diagrammi di flusso, diagrammi di processo, organigrammi, UML, ER e diagrammi di rete. GitMind è un software di diagrammi online gratuito per la creazione di diagrammi di flusso, organigrammi, UML, swimlane, che fornisce modelli di programma predefiniti.
  • Software proprietario: Lucidchart è una piattaforma proprietaria basata sul web che consente agli utenti di collaborare alla stesura e alla condivisione di grafici e diagrammi. SmartDraw è uno strumento di diagramma utilizzato per creare diagrammi di flusso, organigrammi, mappe mentali e grafici di progetto. Visme è uno strumento di grafica online che può aiutare a creare diagrammi e grafici.

Voci correlate

Altri progetti

Collegamenti esterni

Controllo di autoritàThesaurus BNCF 17222 · LCCN (ENsh85049286 · GND (DE4131768-3 · BNF (FRcb11940186h (data) · J9U (ENHE987007538452105171
  Portale Informatica: accedi alle voci di Wikipedia che trattano di informatica