Diagramma di flusso

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

In informatica il diagramma di flusso (in inglese detto anche flow chart) rappresenta un linguaggio di modellazione grafico per rappresentare il flusso di controllo ed esecuzione di algoritmi, procedure, istruzioni operative (in senso lato).

Esso consente di descrivere in modo schematico ovvero grafico:

  • le operazioni da compiere, rappresentate mediante sagome convenzionali (rettangoli, rombi, esagoni, parallelogrammi, rettangoli smussati...), ciascuna con un preciso significato logico e all'interno delle quali un'indicazione testuale descrive tipicamente 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]

Controllo di autorità GND: (DE4131768-3
informatica Portale Informatica: accedi alle voci di Wikipedia che trattano di informatica