Diagramma di flusso

Da Wikipedia, l'enciclopedia libera.
(Reindirizzamento da Diagrammi di flusso)

Quello dei diagrammi di flusso (in inglese detti anche flow chart) è un linguaggio di modellazione grafico per rappresentare il flusso di controllo di algoritmi, procedure, istruzioni operative (in senso lato).

Esso consente di descrivere in modo schematico:

  • le operazioni da compiere, rappresentate mediante sagome convenzionali (come rettangoli, rombi, esagoni, parallelogrammi, rettangoli smussati...) all'interno delle quali un'indicazione testuale descrive l'attività da svolgere
  • la sequenza nella quale devono essere compiute, rappresentate 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[modifica | modifica wikitesto]

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.

Mascherina per flow-chart in informatica

Blocchi elementari[modifica | modifica wikitesto]

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:

  • azione, che comportano una attività o un'elaborazione
  • test, che indicano due o più direzioni in base a un fattore di decisione
  • 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 iniziale.png Blocco finale.png
blocco di I/O blocco di Elaborazione
Blocco in out.png Blocco azione.png
blocco di controllo
Blocco controllo.png

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à[modifica | modifica wikitesto]

  • 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 di controllo: 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[modifica | modifica wikitesto]

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

\mathrm{fatt}(n)=n!=\left\{\begin{matrix} 1, & \mbox{se } n = 0 \\ n\cdot (n-1)!, & \mbox{se } n\ne 0 \end{matrix}\right.

un possibile diagramma di flusso per rappresentarlo:

Flusso fatt ricor.png

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

Voci correlate[modifica | modifica wikitesto]

Altri progetti[modifica | modifica wikitesto]

Collegamenti esterni[modifica | modifica wikitesto]

informatica Portale Informatica: accedi alle voci di Wikipedia che trattano di informatica