
5. Istruzioni condizionali e cicli
Il cuore del pensiero computazionale
Le istruzioni condizionali e i cicli rappresentano l’ossatura logica di ogni programma. Senza di essi, un software sarebbe soltanto una sequenza lineare di comandi, incapace di adattarsi alle situazioni o di automatizzare compiti ripetitivi. Comprendere queste strutture significa comprendere come “ragiona” una macchina.
🔍 1. Le istruzioni condizionali: insegnare al computer a decidere
Una condizione permette al programma di scegliere tra alternative.
Struttura base:
if (condizione) {
esegui questo
} else {
esegui quest'altro
}
🧠 Come funziona davvero?
Il computer:
- Valuta una condizione (vera o falsa)
- Se è vera, esegue un blocco
- Se è falsa, ne esegue un altro
È un meccanismo binario, basato su logica matematica.
🔎 Operatori relazionali
Servono per confrontare valori:
>maggiore di<minore di>=maggiore o uguale<=minore o uguale==uguale!=diverso
Esempio:
if (temperatura > 30) {
accendi_condizionatore();
}
🔎 Operatori logici
Permettono di combinare più condizioni:
AND(&&) → entrambe vereOR(||) → almeno una veraNOT(!) → negazione
Esempio:
if (eta >= 18 && ha_patente == true) {
può_guidare();
}
🚦 Esempio reale: il semaforo intelligente
Un semaforo programmato funziona così:
if (pulsante_pedone_premuto == true) {
attendi(10 secondi);
luce = verde_pedoni;
}
Non è magia: è una semplice condizione logica.
Quando premi il pulsante:
- Il sistema registra l’evento
- Verifica una condizione
- Attiva un comportamento
💳 Sportello automatico (ATM)
Un bancomat segue questa logica:
if (pin_corretto) {
if (saldo >= importo_richiesto) {
eroga_denaro();
} else {
mostra("Saldo insufficiente");
}
} else {
mostra("PIN errato");
}
Qui vediamo condizioni annidate (if dentro if).
🎮 Videogiochi
Nei videogame ogni scelta è basata su condizioni:
- Se il personaggio tocca un nemico → perde energia
- Se l’energia arriva a zero → Game Over
- Se raccoglie 100 monete → livello completato
La narrazione interattiva si basa tutta su strutture condizionali.
🔁 2. I cicli: insegnare al computer a ripetere
Un ciclo serve a ripetere automaticamente un’azione.
🔄 Ciclo for
Si usa quando sappiamo quante volte ripetere qualcosa.
for (i = 1; i <= 10; i++) {
stampa("Ciao");
}
Risultato: stampa “Ciao” 10 volte.
🔄 Ciclo while
Si usa quando la ripetizione dipende da una condizione.
while (energia > 0) {
continua_gioco();
}
Il ciclo termina quando l’energia arriva a 0.
🧠 Differenza chiave
| FOR | WHILE |
|---|---|
| Numero di ripetizioni noto | Numero non noto |
| Contatore interno | Dipende da condizione |
🌍 Collegamenti con la vita quotidiana
🕰 Orologio
Un orologio digitale è un ciclo infinito:
while (vero) {
aggiorna_orario();
}
🧺 Lavatrice
while (programma_non_finito) {
lava();
risciacqua();
centrifuga();
}
🎶 Playlist musicale
for (ogni canzone nella lista) {
riproduci();
}
🧩 Attività Didattiche Approfondite
1️⃣ Crea un semaforo logico fisico
Materiali:
- Cartoncini rosso, giallo, verde
- Un pulsante (simulato)
- Timer (cronometro)
Simulazione:
- Se il pedone preme il pulsante → dopo 10 secondi verde
- Se nessuno preme → ciclo normale rosso → verde → giallo
Obiettivo: comprendere la logica condizionale.
2️⃣ Storia interattiva con Scratch
In si possono creare storie del tipo:
- Se scegli “entra nella grotta” → appare il drago
- Se scegli “torna indietro” → trovi un tesoro
Qui si introducono:
- variabili
- condizioni
- cicli per animazioni ripetute
3️⃣ Loop visivi e danza animata
Creare un personaggio che:
- salta 5 volte (for)
- continua a camminare finché non tocca un muro (while)
Questo permette di visualizzare la ripetizione come movimento.
🎯 Obiettivi Didattici Approfonditi
1. Comprensione logica
Capire che il computer non “pensa”, ma:
- valuta condizioni
- esegue istruzioni in modo deterministico
2. Astrazione
Tradurre situazioni reali in regole formali.
3. Pensiero algoritmico
Imparare a:
- scomporre un problema
- identificare condizioni
- progettare cicli efficienti
⚙️ Approfondimento per livelli più avanzati
Condizioni multiple (else if)
if (voto >= 90) {
giudizio = "Ottimo";
} else if (voto >= 70) {
giudizio = "Buono";
} else {
giudizio = "Da migliorare";
}
Cicli annidati
for (riga = 1; riga <= 5; riga++) {
for (colonna = 1; colonna <= 5; colonna++) {
stampa("*");
}
}
Utilizzati in:
- grafica
- tabelle
- videogiochi a griglia
🚀 Perché sono così importanti?
Senza condizioni:
- Nessuna intelligenza artificiale
- Nessuna interattività
- Nessuna personalizzazione
Senza cicli:
- Nessuna automazione
- Nessuna gestione di grandi quantità di dati
- Nessuna efficienza computazionale
Ogni algoritmo avanzato — anche quelli di intelligenza artificiale — è costruito su queste fondamenta.
📌 Sintesi
Le istruzioni condizionali e i cicli:
- Permettono ai programmi di decidere
- Consentono ai programmi di ripetere
- Collegano logica matematica e realtà quotidiana
- Sono il primo vero passo verso la programmazione strutturata
Comprenderli significa entrare nel linguaggio della macchina — e imparare a dominarlo.
Nessun commento:
Posta un commento