Gli esercizi che seguono sono progettati per aiutare gli studenti a comprendere il funzionamento delle istruzioni condizionali in C++, integrando anche curiosità trasversali per stimolare la loro curiosità. Questi esercizi sono interdisciplinari, offrendo un’ampia gamma di applicazioni reali e pratiche del costrutto SE.

Se desideri esplorare altri esercizi sul costrutto SE, già disponibili, puoi trovarli in questa sezione.

  1. Calcolo del BMI (Indice di Massa Corporea)
    L’Indice di Massa Corporea (BMI) è un calcolo utilizzato per stimare se una persona ha un peso sano in relazione alla sua altezza.
    Un valore di BMI inferiore a 18.5 indica sottopeso, tra 18.5 e 24.9 è normale, tra 25 e 29.9 è sovrappeso, e oltre 30 è obesità.
    Il programma deve calcolare il BMI e classificare la persona in base al suo valore di BMI.
    Obiettivo didattico: Comprendere come utilizzare il costrutto if per eseguire diverse azioni in base al risultato di un calcolo. In questo caso, lo studente imparerà a gestire condizioni multiple e a restituire un output in base ai vari intervalli numerici.
  2. L’orecchio umano e l’udito canino
    L’orecchio umano percepisce frequenze tra 20 Hz e 20.000 Hz, mentre i cani possono sentire suoni fino a 60.000 Hz. Il programma deve ricevere una frequenza in Hz e determinare se essa è compresa tra i valori udibili dall’essere umano, da un cane, o al di fuori di questi intervalli.
    Obiettivo didattico: L’esercizio aiuta a comprendere l’utilizzo di if per comparare valori e a costruire condizioni che gestiscano diverse possibilità. Inoltre, stimola l’interesse degli studenti per l’applicazione del codice in contesti reali e curiosi.
  3. Temperatura ideale per la cioccolata
    Quando si lavora il cioccolato artigianale, è fondamentale temperarlo correttamente. Il cioccolato fondente si tempera perfettamente tra 30°C e 32°C. Il programma deve chiedere la temperatura e verificare se è ideale per temperare il cioccolato.
    Obiettivo didattico: Imparare ad usare if per testare se una variabile rientra in un intervallo specificato. Lo studente avrà anche l’opportunità di esplorare l’applicazione di logiche condizionali in ambito gastronomico.
  4. Il punteggio delle Olimpiadi
    Nel 2008, Usain Bolt ha stabilito il record del mondo nei 100 metri con un tempo di 9.69 secondi. Il programma deve verificare se un tempo dato è inferiore al record, se è vicino (entro 1 secondo) o se è superiore.
    Obiettivo didattico: Questo esercizio aiuta a comprendere come utilizzare if annidati per gestire condizioni più complesse e come interagire con i dati numerici per estrarre informazioni significative.
  5. Il dilemma delle citazioni di Shakespeare
    L’utente sceglie tra tre celebri citazioni di Shakespeare, e il programma completa la frase.
    Obiettivo didattico: Questo esercizio introduce la gestione di input da parte dell’utente e il controllo condizionale per restituire l’output corretto. Stimola anche un approccio più interattivo con il programma, utilizzando le scelte dell’utente.
  6. Everest contro Olimpo
    Il Monte Olimpo su Marte è il vulcano più alto del sistema solare con un’altezza di 22.000 metri, mentre il Monte Everest è il punto più alto della Terra, con 8.848 metri. Il programma deve confrontare un’altitudine data e determinare se è più alta dell’Everest ma più bassa dell’Olimpo, restituendo la differenza.
    Obiettivo didattico: Il programma insegna l’uso di if per confrontare valori e restituire risultati in base a condizioni numeriche specifiche, oltre a stimolare l’interesse per il mondo naturale e astronomico.
  7. Il battito del colibrì
    Il colibrì ha una frequenza cardiaca che può arrivare fino a 1200 battiti al minuto. Il programma deve verificare se una frequenza cardiaca inserita è compatibile con quella di un colibrì (tra 900 e 1200 bpm) e, in tal caso, restituire anche il numero di battiti al secondo.
    Obiettivo didattico: Questo esercizio permette di comprendere come effettuare calcoli in C++ utilizzando condizioni e operazioni matematiche. Lo studente impararà anche a manipolare valori numerici in modo più avanzato.
  8. Il pH dell’acqua
    Il pH dell’acqua pura è 7. Il programma deve determinare se un pH dato è acido (minore di 7), neutro (uguale a 7) o basico (maggiore di 7).
    Obiettivo didattico: Insegnare come utilizzare condizioni di base in C++ per analizzare un dato numerico e restituire un output basato su quella condizione. L’esercizio stimola la comprensione dei concetti chimici di base.
  9. Test di relatività
    Secondo la teoria della relatività di Einstein, nulla può viaggiare più veloce della luce. Il programma deve verificare se una velocità data supera o meno quella della luce e, in caso affermativo, restituire un messaggio.
    Obiettivo didattico: Questo esercizio aiuta a comprendere l’uso delle condizioni per confrontare una variabile con una costante fisica. È un ottimo esempio di applicazione della teoria scientifica alla programmazione.
  10. Sindrome di Stendhal
    La sindrome di Stendhal descrive una condizione in cui l’individuo prova tachicardia di fronte alla bellezza di un’opera d’arte. Il programma deve determinare se una frequenza cardiaca è bassa, normale o alta.
    Obiettivo didattico: L’esercizio introduce l’uso di intervalli numerici e condizioni per categorizzare un valore, favorendo la comprensione del comportamento umano in risposta a stimoli esterni.
  11. Promozione del libro antico
    Una libreria antiquaria offre uno sconto sui libri pubblicati prima del 1900. Il programma deve determinare se un libro, dato il suo anno di pubblicazione, ha diritto allo sconto.
    Obiettivo didattico: Questo esercizio introduce la gestione dell’input da parte dell’utente e la comparazione di un valore con un riferimento fisso, utile per prendere decisioni basate su condizioni temporali.
  12. La temperatura di Marte
    La temperatura su Marte può variare tra -125°C e 20°C. Il programma deve determinare se una temperatura data è compatibile con la sopravvivenza su Marte (tra -30°C e 20°C) o meno.
    Obiettivo didattico: Comprendere come utilizzare condizioni per confrontare valori numerici relativi a situazioni estreme, stimolando l’interesse per la scienza e l’esplorazione spaziale.
  13. Il codice Fibonacci nascosto
    Il programma riceve in input 5 numeri interi e verifica se almeno una terna consecutiva segue la regola della successione di Fibonacci (cioè il terzo è somma dei due precedenti). Se trova una terna che soddisfa questa condizione, stampa un messaggio; altrimenti, ne stampa un altro.
    Obiettivo didattico: Allenare la capacità di individuare sottosequenze all’interno di una sequenza più ampia, utilizzare cicli e condizioni in modo combinato e introdurre concetti matematici interessanti in contesto algoritmico.
  14. Riconoscere la vera Pizza Margherita
    Il programma chiede all’utente tre ingredienti e verifica se tra questi ci siano pomodoro, mozzarella e basilico. Se sì, riconosce la vera pizza Margherita; altrimenti, no.
    Obiettivo didattico: Imparare a confrontare valori testuali, gestire input multipli e usare condizioni combinate. L’esercizio stimola anche l’attenzione alla logica di inclusione di elementi in insiemi.
  15. La temperatura di ebollizione
    Il programma riceve una temperatura e stabilisce se è “Non sta bollendo” (<90°C), “Montagna” (tra 90°C e 95°C) o “Mare” (>95°C).
    Obiettivo didattico: Comprendere l’uso delle condizioni multiple con intervalli numerici, applicando logica condizionale a fenomeni fisici reali.
  16. L’indovinello dei tre numeri di Napoleone
    Il programma chiede tre numeri interi e verifica se uno è somma degli altri due, ma solo se nessuno dei tre è zero. Se questa condizione è soddisfatta, stampa che uno mente.
    Obiettivo didattico: Sviluppare il ragionamento logico e la capacità di tradurre un enigma in una struttura condizionale corretta. L’esercizio stimola il pensiero critico e il controllo delle condizioni di validità.
  17. Forno e dispersione di calore
    L’utente inserisce la temperatura iniziale del forno e quella dopo 30 minuti. Il programma calcola la percentuale di perdita e, in base al valore, segnala una dispersione alta, moderata o bassa.
    Obiettivo didattico: Applicare formule matematiche semplici e usare condizioni per classificare risultati. L’esercizio collega matematica, fisica e tecnologia con un caso d’uso concreto.
  18. Calcolo dell’ora locale
    Il programma riceve l’ora in UTC e una differenza di fuso orario, poi calcola e stampa l’ora locale, segnalando se si tratta del giorno precedente o successivo.
    Obiettivo didattico: Esercitare il calcolo modulare e il trattamento dei numeri ciclici (modulo 24), comprendendo le implicazioni del tempo nei diversi fusi orari.
  19. Congelamento dell’acqua salata e dolce
    Il programma chiede se l’acqua è dolce o salata e la temperatura, poi verifica se può congelare in base al tipo.
    Obiettivo didattico: Imparare a gestire input condizionali multipli, combinando stringhe e numeri. L’esercizio promuove il ragionamento logico e il legame con concetti scientifici.
  20. Durata di una candela
    L’utente inserisce la massa iniziale della candela e quella residua dopo 4 ore. Il programma calcola la percentuale di massa persa e valuta l’intensità della combustione.
    Obiettivo didattico: Allenare la capacità di calcolo percentuale e classificazione dei risultati in fasce. L’esercizio incentiva la modellazione di un problema fisico in termini algoritmici.