Programma e Diagrammi di Flusso

Cosè un programma

Un programma per computer, o semplicemente programma, in informatica, è un software che può essere eseguito da un elaboratore per ricevere in input determinati dati di un problema automatizzabile e restituirne in output le (eventuali) soluzioni.

Diagramma 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 sono 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.

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:

blocco inizialeblocco finale
Blocco iniziale.pngBlocco finale.png
blocco di I/Oblocco di Elaborazione
Blocco in out.pngBlocco 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à

    • 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

Ultime modifiche: domenica, 8 marzo 2020, 16:44