mercoledì 18 febbraio 2026

Corso Imparare a Programmare: 5 Istruzioni condizionali e cicli

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:

  1. Valuta una condizione (vera o falsa)
  2. Se è vera, esegue un blocco
  3. 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 vere
  • OR (||) → almeno una vera
  • NOT (!) → 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

Corso di CSS & Web Design: 9 – Progetto completo di un sito internet

9 – Progetto completo di un sito internet  Struttura dettagliata del sito di un artista di arti figurative 🎯 Obiettivi del sito Presentar...