Pillola di saggezza - I Flow Chart

Pillola di saggezza - I Flow Chart

Potrà sembrare banale e scontato parlare di Flow Chart, soprattutto quando ci si rivolge a programmatori, ma un ripasso o un buon argomento di discussione non guastano mai.

Ma che cos’è un Flow Chart?
Un Flow Chart o Schema di flusso o Diagramma, è una rappresentazione grafica di un algoritmo realizzata mediante l’uso di simboli le cui forme rappresentano azioni differenti, collegati tra loro da frecce che ne rappresentano il flusso di esecuzione delle istruzioni contenute nell’algoritmo che si vuole rappresentare.

Giusto per completezza, diamo anche una definizione ad algoritmo. Per algoritmo si intende un insieme finito di azioni che risolvono un problema trasformando dei dati in ingresso in un risultato finito (output).

Mediante i Flow chart si possono rappresentare gli algoritmi in modo chiaro e leggibile, ma soprattutto in modo standard evitando interpretazioni errate delle istruzioni.

Un algoritmo deve essere:

  • Finito: costituito da un numero finito di istruzioni e presenta una fine;
  • Deterministico: partendo dagli stessi dati in input, si ottengono i medesimi risultati in output;
  • Non ambiguo: le operazioni devono poter essere interpretate nello stesso modo da tutti anche se l'esecutore è differente;
  • Generale: la soluzione è uguale per tutti i problemi della medesima classe.

Ma in pratica come si fa un Flow Chart?
Di seguito la tabella con le principali istruzioni e il relativo metodo di rappresentazione:

Tipo di istruzione Simbolo Significato
Azione
Simbolo di azione per Flow Chart
Blocco di azione:
esegue l’azione descritta all’interno del rettangolo. L’azione può produrre risultati intermedi o finali.
Controllo (condizionale)
Simbolo di condizione per Flow Chart
Blocco di controllo:
istruzione che permette di prendere una decisione in base al risultato di una condizione. Verifica la condizione, e se il risultato è vero passa all’esecuzione delle istruzioni sul ramo corrispondente, altrimenti esegue le istruzioni dell’altro ramo.
Comunicazione (trasmissione) di ingresso (input):
Simbolo di input per Flow Chart
Comunicazione in ingresso:
l’utente comunica dati al calcolatore. Il valore verrà inserito in una variabile.
di uscita (output):
Simbolo di output per Flow Chart
Comunicazione in uscita:
l’elaboratore comunica dati all’utente. I dati vengono visualizzati a video.
Salto Altera l’esecuzione sequenziale per “Saltare” ad altre parti dell’algoritmo.
Simbolo di salta per Flow Chart
Salto Condizionato:
associato al verificarsi di una condizione. Va ad eseguire l’istruzione indirizzata dal flusso con le frecce.
Salto Incondizionato:
non è associato al verificarsi di una condizione. Va ad eseguire l’istruzione indirizzata dal flusso con le frecce.
Inizio algoritmo
Simbolo di inizio di un Flow Chart
Blocco di inizio algoritmo
Fine algoritmo
Simbolo di fine di un Flow Chart
Blocco di fine algoritmo

Durante la fase di costruzione del Flow Chart è anche consigliabile numerare (magari con numeri multipli di 10) così che si possano identificare con facilità le fasi che compongono il processo nella documentazione descrittiva.

Per costruire facilmente un bel Flow Chart è semplice, se hai le idee chiare di quale sia l’algoritmo da rappresentare, puoi ad esempio utilizzare www.diagrams.net da cui puoi scaricare l’applicazione in locale oppure utilizzare direttamente il tool online.

Come accennato, i Flow Chart non sono solo utili per i programmatori in fase di costruzione di un programma, ma possono essere utilizzati, ad esempio, per tracciare i processi aziendali per poterne così valutare l’efficienza ed apportare le opportune correzioni. Stessa analisi che solitamente facciamo in fase di start-up di Odoo, sistema ERP che permette di ottimizzare al massimo i processi aziendali evitando inutili perdite di tempo.

Ti lancio una sfida. Prova a costruire il Flow Chart e scrivi il relativo codice in Python o in PHP di questi 2 problemi e inviaci tutto via mail a info@bnow.it insieme al tuo curriculum, siamo sempre alla ricerca di persone volenterose per ampliare il nostro organico!

Problema 1: Calcola e applica lo sconto corretto ad un prezzo fornito in input secondo le seguenti fasce:
- prezzo inferiore a 500 Euro, sconto 10%
- prezzo compreso tra 500 e 999 Euro, sconto 15%
- prezzo pari o superiore a 1000 Euro, sconto 20%

Problema 2: Converti un numero decimale compreso tra 1 e 1000 in numero romano.

Buon divertimento!


29/08/2022   Bruno Avalle