Opzioni di lettura

🖥️ Informatica · Esercizi guidati

Esercizi sui Flowchart

Una raccolta progressiva di attività per allenarsi con algoritmi e diagrammi di flusso: dalla sequenza semplice ai cicli con condizioni, con soluzioni separate per il controllo finale.

1

Come usare questa scheda

Gli esercizi sono ordinati in modo crescente di difficoltà. Prima prova a costruire da solo il flowchart, poi controlla la soluzione nella sezione finale. L'obiettivo non è copiare, ma ragionare sui passaggi.

1️⃣

Leggi il testo

Individua con calma che cosa entra e che cosa deve uscire.

2️⃣

Costruisci il flowchart

Scegli i blocchi giusti: input, azione, controllo, output.

3️⃣

Controlla la soluzione

Confronta il tuo ragionamento con la traccia proposta.

Consiglio didattico: prima di disegnare, scrivi sempre in brutta copia: input, output e operazioni da eseguire. Ti aiuterà a non confondere i blocchi.
2

Esercizi progressivi

🟢 Livello 1 — Base: sequenza
1 Calcola la somma di due numeri

L'utente inserisce due numeri. Il programma deve calcolare la loro somma e visualizzarla.

Input: a, b
Output: somma
2 Calcola l'area di un rettangolo

L'utente inserisce base e altezza. Il programma deve calcolare l'area del rettangolo.

Input: base, altezza
Output: area
🟡 Livello 2 — Selezione semplice
3 Numero positivo o negativo

L'utente inserisce un numero. Il programma deve dire se il numero è positivo oppure negativo.

Input: n
Output: “positivo” oppure “negativo”
4 Numero pari o dispari

L'utente inserisce un numero intero. Il programma deve stabilire se è pari o dispari.

Input: n
Output: “pari” oppure “dispari”
🟠 Livello 3 — Selezione completa
5 Trova il maggiore tra due numeri

L'utente inserisce due numeri. Il programma deve visualizzare quale dei due è maggiore.

Input: a, b
Output: il numero maggiore
6 Giudizio sul voto

L'utente inserisce un voto. Se il voto è maggiore o uguale a 6, il programma deve scrivere “Sufficiente”, altrimenti “Insufficiente”.

Input: voto
Output: “Sufficiente” oppure “Insufficiente”
🔵 Livello 4 — Selezione con più casi
7 Positivo, negativo o zero

L'utente inserisce un numero. Il programma deve stabilire se il numero è positivo, negativo oppure uguale a zero.

Input: n
Output: “positivo”, “negativo” oppure “zero”
8 Accesso a un sistema

L'utente inserisce uno username. Se lo username è uguale ad admin, il programma deve consentire l'accesso. In caso contrario deve scrivere “Accesso negato”.

Input: username
Output: “Accesso consentito” oppure “Accesso negato”
🔴 Livello 5 — Cicli di base
9 Stampa i numeri da 1 a 5

Il programma deve visualizzare in ordine i numeri da 1 a 5 usando un ciclo.

Input: nessuno
Output: 1, 2, 3, 4, 5
10 Somma di 5 numeri

L'utente inserisce 5 numeri uno alla volta. Il programma deve calcolare la somma totale.

Input: 5 numeri
Output: somma totale
🟣 Livello 6 — Cicli + condizioni
11 Conta i numeri positivi

L'utente inserisce 5 numeri. Il programma deve contare quanti di questi sono positivi.

Input: 5 numeri
Output: quantità di numeri positivi
12 Somma con sentinella

L'utente continua a inserire numeri. Il programma deve sommarli tutti e fermarsi quando l'utente inserisce 0.

Input: una sequenza di numeri, con 0 come valore di stop
Output: somma dei numeri inseriti prima dello 0
3

Soluzioni

Qui trovi le soluzioni in forma testuale, utili per controllare il ragionamento e poi tradurlo nel diagramma di flusso. Puoi decidere se mostrare questa parte subito oppure usarla solo nella correzione finale.

Soluzione 1 — Somma di due numeri
Inizio
Input a, b
somma ← a + b
Output somma
Fine
Soluzione 2 — Area del rettangolo
Inizio
Input base, altezza
area ← base × altezza
Output area
Fine
Soluzione 3 — Positivo o negativo
Inizio
Input n
Se n ≥ 0 allora
    Output "positivo"
Altrimenti
    Output "negativo"
Fine
Soluzione 4 — Pari o dispari
Inizio
Input n
Se n mod 2 = 0 allora
    Output "pari"
Altrimenti
    Output "dispari"
Fine
Soluzione 5 — Maggiore tra due numeri
Inizio
Input a, b
Se a > b allora
    Output a
Altrimenti
    Output b
Fine
Soluzione 6 — Giudizio sul voto
Inizio
Input voto
Se voto ≥ 6 allora
    Output "Sufficiente"
Altrimenti
    Output "Insufficiente"
Fine
Soluzione 7 — Positivo, negativo o zero
Inizio
Input n
Se n > 0 allora
    Output "positivo"
Altrimenti se n < 0 allora
    Output "negativo"
Altrimenti
    Output "zero"
Fine
Soluzione 8 — Accesso al sistema
Inizio
Input username
Se username = "admin" allora
    Output "Accesso consentito"
Altrimenti
    Output "Accesso negato"
Fine
Soluzione 9 — Numeri da 1 a 5
Inizio
i ← 1
Finché i ≤ 5 fai
    Output i
    i ← i + 1
Fine
Soluzione 10 — Somma di 5 numeri
Inizio
somma ← 0
i ← 1
Finché i ≤ 5 fai
    Input n
    somma ← somma + n
    i ← i + 1
Output somma
Fine
Soluzione 11 — Conta i positivi
Inizio
cont ← 0
i ← 1
Finché i ≤ 5 fai
    Input n
    Se n > 0 allora
        cont ← cont + 1
    i ← i + 1
Output cont
Fine
Soluzione 12 — Somma con sentinella
Inizio
somma ← 0
Input n
Finché n ≠ 0 fai
    somma ← somma + n
    Input n
Output somma
Fine
4

Griglia veloce di autocontrollo

Controllo Domanda da farsi
Inizio/FineHo inserito correttamente il punto di partenza e il punto di arrivo?
InputHo chiesto tutti i dati necessari?
AzioneHo scritto bene i calcoli o le assegnazioni?
ControlloQuando serve una scelta, ho usato il rombo?
OutputIl risultato finale viene visualizzato?
FrecceIl percorso si segue senza ambiguità?

Per l'insegnante

+

Esercizi più complessi

In questa sezione trovi problemi un po' più articolati, pensati per allenarti a costruire flowchart con più passaggi, confronti, formule e piccole scelte logiche. Prova prima a risolverli da solo, poi confronta il tuo ragionamento con le soluzioni.

Complesso 1

Somma dei valori superiori a 10

Ricevuti in ingresso quattro numeri, calcola la somma dei soli valori maggiori di 10.

Complesso 2

Tre numeri in ordine decrescente

Ricevuti in ingresso tre numeri, visualizzali in ordine decrescente.

Complesso 3

Area del trapezio

Ricevute in ingresso la base maggiore, la base minore e l'altezza, calcola l'area di un trapezio.

Complesso 4

Tipo di quadrilatero

Ricevute in ingresso le lunghezze di quattro lati, stabilisci se la figura è un quadrato, un rettangolo semplificato con lati uguali a due a due, oppure un quadrilatero generico.

Complesso 5

Terzo angolo di un triangolo

Ricevuti in ingresso due angoli interni di un triangolo, calcola l'ampiezza del terzo angolo.

Complesso 6

Diametro dal raggio

Ricevuta in ingresso la misura del raggio di un cerchio, calcola la lunghezza del diametro e della circonferenza.

Complesso 7

Voto massimo tra cinque prove

Ricevuti in ingresso cinque voti compresi tra 1 e 10, individua il voto più alto.

Complesso 8

Costo totale al cinema

Ricevuto in ingresso il numero di interi e di ridotti, calcola il costo totale sapendo che il biglietto intero costa 9 € e il ridotto costa 6 €.

Complesso 9

Esito di una gara

Ricevuti in ingresso i nomi di due squadre e i rispettivi punteggi, visualizza il nome della squadra vincente oppure, in caso di parità, il nome di entrambe.

Complesso 10

Prezzo finale con sconto

Ricevuti in ingresso il prezzo di una felpa e la percentuale di sconto, calcola il prezzo finale da pagare.

Complesso 11

Ordine di focacce

Una focaccia classica costa 5,00 €, una farcita costa 6,50 €, una vegetariana costa 6,00 €, tutte le altre costano 7,20 €. Ricevuta in ingresso un'ordinazione per un gruppo e il numero di persone, calcola la spesa media per ciascuna persona.

Complesso 12

Quota da donare

Ricevuta in ingresso una somma di denaro, calcola quanto corrisponde al 30% di quella cifra da destinare a una raccolta solidale.

Complesso 13

Risparmio annuale sulla merenda

Ricevuti in ingresso il costo di una merenda acquistata al distributore e il costo della merenda portata da casa, calcola il risparmio in un anno scolastico di 180 giorni.

Complesso 14

Costo della spedizione

Ricevuto in ingresso il peso di un pacco, calcola il costo di spedizione sapendo che fino a 2 kg costa 5 €, oltre 2 kg e fino a 5 kg costa 8 €, oltre 5 kg costa 12 €.

✅ Soluzioni — Esercizi più complessi
Soluzione Complesso 1
Inizio
Input a, b, c, d
somma ← 0
Se a > 10 allora somma ← somma + a
Se b > 10 allora somma ← somma + b
Se c > 10 allora somma ← somma + c
Se d > 10 allora somma ← somma + d
Output somma
Fine
Soluzione Complesso 2
Inizio
Input a, b, c
Se a >= b e a >= c allora
    Se b >= c allora Output a, b, c
    Altrimenti Output a, c, b
Altrimenti se b >= a e b >= c allora
    Se a >= c allora Output b, a, c
    Altrimenti Output b, c, a
Altrimenti
    Se a >= b allora Output c, a, b
    Altrimenti Output c, b, a
Fine
Soluzione Complesso 3
Inizio
Input B, b, h
area ← ((B + b) * h) / 2
Output area
Fine
Soluzione Complesso 4
Inizio
Input l1, l2, l3, l4
Se l1 = l2 e l2 = l3 e l3 = l4 allora
    Output "quadrato"
Altrimenti se l1 = l3 e l2 = l4 allora
    Output "rettangolo semplificato"
Altrimenti
    Output "quadrilatero generico"
Fine
Soluzione Complesso 5
Inizio
Input ang1, ang2
ang3 ← 180 - (ang1 + ang2)
Output ang3
Fine
Soluzione Complesso 6
Inizio
Input r
diametro ← 2 * r
circonferenza ← 2 * 3.14 * r
Output diametro, circonferenza
Fine
Soluzione Complesso 7
Inizio
Input v1, v2, v3, v4, v5
max ← v1
Se v2 > max allora max ← v2
Se v3 > max allora max ← v3
Se v4 > max allora max ← v4
Se v5 > max allora max ← v5
Output max
Fine
Soluzione Complesso 8
Inizio
Input interi, ridotti
totale ← interi * 9 + ridotti * 6
Output totale
Fine
Soluzione Complesso 9
Inizio
Input squadra1, squadra2, punti1, punti2
Se punti1 > punti2 allora
    Output squadra1
Altrimenti se punti2 > punti1 allora
    Output squadra2
Altrimenti
    Output squadra1, squadra2
Fine
Soluzione Complesso 10
Inizio
Input prezzo, sconto
finale ← prezzo - (prezzo * sconto / 100)
Output finale
Fine
Soluzione Complesso 11
Inizio
Input tipo1, tipo2, tipo3, tipo4, persone
totale ← 0
totale ← totale + tipo1 * 5.00
totale ← totale + tipo2 * 6.50
totale ← totale + tipo3 * 6.00
totale ← totale + tipo4 * 7.20
media ← totale / persone
Output totale, media
Fine
Soluzione Complesso 12
Inizio
Input cifra
quota ← cifra * 30 / 100
Output quota
Fine
Soluzione Complesso 13
Inizio
Input costo_distributore, costo_casa
risparmio_giornaliero ← costo_distributore - costo_casa
risparmio_annuo ← risparmio_giornaliero * 180
Output risparmio_annuo
Fine
Soluzione Complesso 14
Inizio
Input peso
Se peso <= 2 allora
    costo ← 5
Altrimenti se peso <= 5 allora
    costo ← 8
Altrimenti
    costo ← 12
Output costo
Fine
++

Esercizi avanzati

Questi problemi richiedono spesso cicli, controlli ripetuti, contatori, somme successive e confronti tra valori. Sono pensati per allenare un ragionamento più strutturato nella costruzione dei flowchart.

Avanzato 1

Conta i multipli di 4

Ricevuti in ingresso n numeri interi positivi, con n intero positivo anch'esso, conta quanti tra i valori inseriti sono multipli di 4.

Avanzato 2

Somma dei primi n multipli di 5

Ricevuto in ingresso un numero intero positivo n, calcola la somma dei primi n multipli di 5.

Avanzato 3

Primi n numeri dispari

Ricevuto in ingresso un numero intero positivo n, visualizza i primi n numeri dispari.

Avanzato 4

Coppie con almeno un multiplo di 3

Ricevute in ingresso n coppie di numeri interi positivi, conta quante coppie contengono almeno un valore multiplo di 3.

Avanzato 5

Quadrati perfetti fino a 144

Visualizza tutti i quadrati perfetti compresi tra 1 e 144.

Suggerimento: sono quadrati perfetti i numeri ottenuti moltiplicando un intero per sé stesso: 1, 4, 9, 16, ...
Avanzato 6

Numeri multipli di 7

Visualizza tutti i numeri multipli di 7 compresi tra 7 e 700.

Avanzato 7

Potenze di 3 minori di n

Ricevuto in ingresso un numero intero positivo n, visualizza tutte le potenze di 3 minori di n.

Avanzato 8

Somma dei pari in un intervallo

Ricevuti in ingresso due numeri interi positivi a e b con a < b, calcola la somma dei numeri pari compresi tra a e b.

Avanzato 9

Conta e somma finché i valori sono positivi

Ricevi numeri interi in ingresso e continua a contarli e sommarli finché il numero inserito è positivo. Quando viene inserito un numero non positivo, termina.

Avanzato 10

Minimo e massimo con sentinella

Ricevi numeri interi positivi in ingresso e determina il minimo e il massimo tra quelli inseriti. L'inserimento termina quando viene digitato 0.

Avanzato 11

Spesa e media sopra soglia

Ricevuti in ingresso i prezzi degli articoli acquistati in cartoleria, calcola il totale della spesa e la media dei soli articoli con prezzo maggiore di 8 €. Termina l'inserimento quando viene digitato 0.

Avanzato 12

Tabella del 7

Visualizza la tabellina del 7 dal prodotto 7 × 1 fino a 7 × 10.

Avanzato 13

Divisori di un numero

Ricevuto in ingresso un numero intero n, visualizza tutti i suoi divisori interi positivi.

Suggerimento: un numero d è divisore di n se il resto della divisione intera n mod d è uguale a 0.
Avanzato 14

Numero abbondante

Ricevuto in ingresso un numero intero n, verifica se è un numero abbondante, cioè se la somma dei suoi divisori propri è maggiore del numero stesso.

Avanzato 15

Numeri triangolari fino a 1000

Visualizza tutti i numeri triangolari minori o uguali a 1000.

Suggerimento: i numeri triangolari si ottengono sommando progressivamente 1 + 2 + 3 + ...
Avanzato 16

Verifica numero primo

Ricevuto in ingresso un numero intero positivo n, verifica se è un numero primo.

Avanzato 17

Tariffa a scatti di un parcheggio

Il costo del parcheggio è così calcolato: le prime 2 ore costano 2 € l'una, dalla 3ª alla 5ª costano 1,50 € l'una, le ore successive costano 1 € l'una; in più si aggiunge una quota fissa di 3 €. Ricevuto in ingresso il numero di ore di sosta, calcola il costo totale.

Avanzato 18

Sconto a fasce

Ricevuto in ingresso un prezzo, calcola il costo finale sapendo che vengono applicati questi sconti: prezzo < 80 € → sconto 4%; prezzo ≥ 80 € e < 250 € → sconto 8%; prezzo ≥ 250 € → sconto 15%.

Avanzato 19

Controllo semplificato di una data

Ricevuta in ingresso una data nel formato giorno/mese/anno, controlla in modo semplificato se il giorno è compatibile con il mese, considerando febbraio di 28 giorni e gli altri mesi standard.

Avanzato 20

Numero progressivo del giorno

Ricevuta in ingresso una data nel formato giorno/mese/anno, calcola il numero progressivo del giorno nell'anno, assumendo febbraio di 28 giorni.

✅ Soluzioni — Esercizi avanzati
Soluzione Avanzato 1
Inizio
Input n
cont ← 0
i ← 1
Finché i ≤ n fai
    Input x
    Se x mod 4 = 0 allora
        cont ← cont + 1
    i ← i + 1
Output cont
Fine
Soluzione Avanzato 2
Inizio
Input n
somma ← 0
i ← 1
Finché i ≤ n fai
    somma ← somma + (i * 5)
    i ← i + 1
Output somma
Fine
Soluzione Avanzato 3
Inizio
Input n
i ← 1
cont ← 0
Finché cont < n fai
    Output i
    i ← i + 2
    cont ← cont + 1
Fine
Soluzione Avanzato 4
Inizio
Input n
cont ← 0
i ← 1
Finché i ≤ n fai
    Input a, b
    Se a mod 3 = 0 oppure b mod 3 = 0 allora
        cont ← cont + 1
    i ← i + 1
Output cont
Fine
Soluzione Avanzato 5
Inizio
i ← 1
Finché i * i ≤ 144 fai
    Output i * i
    i ← i + 1
Fine
Soluzione Avanzato 6
Inizio
i ← 7
Finché i ≤ 700 fai
    Output i
    i ← i + 7
Fine
Soluzione Avanzato 7
Inizio
Input n
potenza ← 1
Finché potenza < n fai
    Output potenza
    potenza ← potenza * 3
Fine
Soluzione Avanzato 8
Inizio
Input a, b
somma ← 0
i ← a
Finché i ≤ b fai
    Se i mod 2 = 0 allora
        somma ← somma + i
    i ← i + 1
Output somma
Fine
Soluzione Avanzato 9
Inizio
cont ← 0
somma ← 0
Input x
Finché x > 0 fai
    cont ← cont + 1
    somma ← somma + x
    Input x
Output cont, somma
Fine
Soluzione Avanzato 10
Inizio
Input x
Se x = 0 allora
    Output "nessun valore inserito"
Altrimenti
    min ← x
    max ← x
    Input x
    Finché x ≠ 0 fai
        Se x < min allora
            min ← x
        Se x > max allora
            max ← x
        Input x
    Output min, max
Fine
Soluzione Avanzato 11
Inizio
totale ← 0
somma_sopra ← 0
cont_sopra ← 0
Input prezzo
Finché prezzo ≠ 0 fai
    totale ← totale + prezzo
    Se prezzo > 8 allora
        somma_sopra ← somma_sopra + prezzo
        cont_sopra ← cont_sopra + 1
    Input prezzo
Se cont_sopra > 0 allora
    media ← somma_sopra / cont_sopra
Altrimenti
    media ← 0
Output totale, media
Fine
Soluzione Avanzato 12
Inizio
i ← 1
Finché i ≤ 10 fai
    Output "7 x ", i, " = ", 7 * i
    i ← i + 1
Fine
Soluzione Avanzato 13
Inizio
Input n
d ← 1
Finché d ≤ n fai
    Se n mod d = 0 allora
        Output d
    d ← d + 1
Fine
Soluzione Avanzato 14
Inizio
Input n
somma ← 0
d ← 1
Finché d < n fai
    Se n mod d = 0 allora
        somma ← somma + d
    d ← d + 1
Se somma > n allora
    Output "abbondante"
Altrimenti
    Output "non abbondante"
Fine
Soluzione Avanzato 15
Inizio
n ← 1
triangolare ← 1
Finché triangolare ≤ 1000 fai
    Output triangolare
    n ← n + 1
    triangolare ← triangolare + n
Fine
Soluzione Avanzato 16
Inizio
Input n
divisori ← 0
d ← 1
Finché d ≤ n fai
    Se n mod d = 0 allora
        divisori ← divisori + 1
    d ← d + 1
Se divisori = 2 allora
    Output "primo"
Altrimenti
    Output "non primo"
Fine
Soluzione Avanzato 17
Inizio
Input ore
Se ore ≤ 2 allora
    costo ← ore * 2
Altrimenti se ore ≤ 5 allora
    costo ← 2 * 2 + (ore - 2) * 1.5
Altrimenti
    costo ← 2 * 2 + 3 * 1.5 + (ore - 5) * 1
costo ← costo + 3
Output costo
Fine
Soluzione Avanzato 18
Inizio
Input prezzo
Se prezzo < 80 allora
    finale ← prezzo - prezzo * 4 / 100
Altrimenti se prezzo < 250 allora
    finale ← prezzo - prezzo * 8 / 100
Altrimenti
    finale ← prezzo - prezzo * 15 / 100
Output finale
Fine
Soluzione Avanzato 19
Inizio
Input giorno, mese, anno
valida ← falso
Se mese = 1 oppure mese = 3 oppure mese = 5 oppure mese = 7 oppure mese = 8 oppure mese = 10 oppure mese = 12 allora
    Se giorno ≥ 1 e giorno ≤ 31 allora
        valida ← vero
Altrimenti se mese = 4 oppure mese = 6 oppure mese = 9 oppure mese = 11 allora
    Se giorno ≥ 1 e giorno ≤ 30 allora
        valida ← vero
Altrimenti se mese = 2 allora
    Se giorno ≥ 1 e giorno ≤ 28 allora
        valida ← vero
Se valida = vero allora
    Output "data corretta"
Altrimenti
    Output "data non corretta"
Fine
Soluzione Avanzato 20
Inizio
Input giorno, mese, anno
progressivo ← giorno
Se mese > 1 allora progressivo ← progressivo + 31
Se mese > 2 allora progressivo ← progressivo + 28
Se mese > 3 allora progressivo ← progressivo + 31
Se mese > 4 allora progressivo ← progressivo + 30
Se mese > 5 allora progressivo ← progressivo + 31
Se mese > 6 allora progressivo ← progressivo + 30
Se mese > 7 allora progressivo ← progressivo + 31
Se mese > 8 allora progressivo ← progressivo + 31
Se mese > 9 allora progressivo ← progressivo + 30
Se mese > 10 allora progressivo ← progressivo + 31
Se mese > 11 allora progressivo ← progressivo + 30
Output progressivo
Fine