Diagramma di flusso

Da Wikipedia, l'enciclopedia libera.
(Reindirizzamento da Diagrammi di flusso)
Vai alla navigazione Vai alla ricerca
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[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:

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

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

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

Altri progetti[modifica | modifica wikitesto]

Collegamenti esterni[modifica | modifica wikitesto]

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