Diagramma di flusso: PRINCIPI E TEORIA

Diagramma di flusso
In informatica il diagramma di flusso (in inglese flow chart) è 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, 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
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:

-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:
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à 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 di validità sulle frecce:
ogni freccia deve entrare in un blocco
-Condizioni di validità sui percorsi:
dal blocco iniziale deve essere possibile raggiungere ogni blocco
da ogni blocco dev’essere possibile raggiungere il blocco finale