Il diagramma a blocchi è uno schema a blocchi utilizzato per rappresentare gli algoritmi.

Il diagramma a blocchi è definito anche diagramma di flusso o flow chart ed è una rappresentazione grafica che utilizza delle forme geometriche per descrivere gli algoritmi.

Definizione di algoritmo

Un algoritmo non è altro che una sequenza ordinata e finita di passi semplici che consentono di portare a termine un compito, talvolta complesso.

Esempi di algoritmi ne troviamo tantissimi, anche nella vita di tutti i giorni. Ad esempio anche la semplice procedura che facciamo per fare una chiamata telefonica è composta da una sequenza ordinata e finita di passi e dunque si definisce algoritmo.

1 Accendere il telefono

2 Se il numero è già memorizzato in rubrica andare nella rubrica e selezionarlo

Banner Pubblicitario

3 Altrimenti andare nel tastierino numerico e digitare il numero

4 Premere l’icona della cornetta per avviare la chiamata

Anche la procedura per preparare il caffè è un algoritmo e si può rappresentare con una sequenza ordinata e finita di passi.

E così tanti altri esempi.

Quindi, l’insieme dei passi che consentono di risolvere un problema prende nome di algoritmo.

Diagramma a blocchi o flow chart

Ci sono tanti modi per rappresentare un algoritmo, un metodo molto utilizzato è quello basato sui diagrammi a blocchi, conosciuti anche con il nome di flow chart (letteralmente diagrammi di flusso).

Sono dunque utilizzati dei blocchi, cioè delle forme geometriche e ciascuna di essa ha un significato ben preciso.

Banner pubblicitario


Le tipologie di blocchi convenzionalmente utilizzate sono:

Ellisse

L’ellisse è utilizzata semplicemente solo per indicare l’inizio e la fine di un diagramma a blocchi.

Quindi ciascun diagramma inizierà con il blocco inizio e terminerà, dopo aver risolto il compito assegnato, con il blocco fine.

blocco inizio fine

Parallelogramma

Il parallelogramma è utilizzato per prendere dei dati in INPUT o per visualizzare dei dati in OUTPUT. Nel caso in cui deve prendere dei dati in input è consigliabile inserire una I in alto a sinistra, seguita dai due punti. Similmente per l’output, che si è soliti indicare con una O in alto a sinistra, sempre seguita dai due punti.

Input output forme flowchart

Rettangolo

Il rettangolo è utilizzato per eseguire dei calcoli, ovvero per elaborare dei dati. Ad esempio per calcolare la somma tra due numeri o l’area di un rettangolo o ancora la media fra tre numeri, ecc…

rettangolo operazioni

Rombo

Il rombo è utilizzato per le istruzioni condizionali, ovvero per porre una domanda. All’interno dunque viene fatto un test, per cui si valuta una condizione che può essere o vera o falsa, quindi si sceglie tra due strade diverse. Un esempio di semplice test potrebbe essere quello di vedere se un numero è positivo o negativo.

rombo if

Il rombo viene spesso utilizzato anche per i cicli while e do-while.

I cicli sono delle strutture iterative che hanno lo scopo di ripetere più volte una o più istruzioni contenute al loro interno.

while rombo diagramma a blocchi

Quindi in base a ciascun problema si sceglierà quali e quanti forme utilizzare.


Prima di procedere con degli esempi pratici, diamo altre importanti definizioni.

Definizione di variabili e costanti

Le variabili sono aree di memoria Ram dove vengono memorizzati i dati e che possono essere cambiati durante l’esecuzione di un’applicazione.

Le costanti invece contengono un valore non modificabile.

Per entrambe è opportuno dare dei nomi sensati, non troppo lunghi e non separati da spazi.


Esempi di diagramma a blocchi

Sviluppiamo alcuni semplici algoritmi.

Area del quadrato realizzata con un diagramma a blocchi

Prendere in input il lato di un quadrato, calcolare e visualizzare l’area.

Per risolvere l’algoritmo serviranno queste forme:

Ellisse per l’inizio e per la fine;

Rettangolo per le operazioni, in questo caso per calcolare l’area;

Parallelogramma per inserire l’input, in questo caso il lato e per visualizzare l’output cioè l’area.

area quadrato flow chart

Noterete che il calcolo dell’area, ovvero il prodotto di lato x lato, è stato memorizzato in una variabile che ho chiamato area, un nome breve e significativo.

N.B. Nell’output abbiamo messo semplicemente la variabile area senza virgolette. C’è una grande differenza:

se nell’output metto area, senza utilizzare le virgolette, allora si visualizza la variabile che contiene il valore memorizzato;

se nell’output metto “area”, allora si stamperà la parola area e non il valore. In pratica con la dicitura “area” non ci stiamo riferendo ad una variabile.


Area del quadrato realizzata con un diagramma a blocchi – secondo esempio

Dato il perimetro calcolare e visualizzare l’area di un quadrato.

Per risolvere l’algoritmo serviranno queste forme:

Ellisse per l’inizio e per la fine;

Rettangolo per le operazioni, in questo caso per ricavare il lato;

Parallelogramma per inserire l’input (in questo caso il perimetro) e per visualizzare l’output cioè l’area.

Utilizziamo la variabile lato per memorizzare l’operazione perimetro/4.

area del quadrato flow chart

Algoritmo con i diagramma a blocchi

Determinare e visualizzare se una persona è maggiorenne prendendo in input i suoi anni.

Per risolvere l’algoritmo serviranno queste forme:

Ellisse per l’inizio e per la fine;

Rombo per effettuare un test che può essere vero o falso. In questo caso si chiede: anni è maggiore o uguale a 18? Quindi si avranno due possibili strade;

Parallelogramma per inserire l’input, ovvero gli anni e per visualizzare l’output;

In questo caso l’output cambierà in base alla condizione, se anni è maggiore o uguale a 18 allora si visualizzerà “sei maggiorenne”, altrimenti se tale condizione è falsa si visualizzerà “non sei maggiorenne”.

N.B. Notate l’uso delle virgolette. In questo caso sono necessarie in quanto non devo stampare una variabile ma una frase, una stringa.

se flowchart diagramma a blocchi

Per realizzare gli algoritmi con i diagrammi a blocchi si può semplicemente utilizzare un foglio oppure un software gratuito come ad esempio Algobuild.

Per scaricare Algobuild e utilizzarlo per realizzare i vostri flow chart potete seguire questo link: https://algobuild.com/it/index.html

Alcuni link utili

Indice argomenti diagramma a blocchi

1 – Diagramma a blocchi

2 – Primi esercizi con i diagrammi di flusso (perimetro triangolo; area di un trapezio)

3 – Altro semplice esercizio sui flow chart (calcolare uno sconto)

4 – Area del cerchio

5 – Precedente e successivo di un numero

6 – Introduzione agli algoritmi di selezione

7 – Minore tra due numeri

8 – Maggiore fra tre numeri

9 – Algoritmo di selezione sugli angoli