Diagramma di flusso

Da Wikipedia, l'enciclopedia libera.

In informatica il diagramma di flusso (in inglese flow chart) è una rappresentazione grafica delle operazioni da eseguire per l'esecuzione di un programma. Ogni singolo passo è visualizzato tramite una serie di simboli standard.

Esso consente di descrivere tramite un linguaggio di modellazione 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 l'attività da svolgere;
  • 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[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.

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 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 iniziale.png Blocco finale.png
blocco di I/O blocco di Elaborazione
Blocco in out.png Blocco azione.png
blocco di controllo o test
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

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