lunedì 20 gennaio 2025

Corso di Programmazione Strutturata e OOP: 1 modelli e applicazioni

🧠 Modulo – Programmazione strutturata: modelli e applicazioni

Obiettivo generale: Apprendere i concetti fondanti della programmazione strutturata, comprendere l’importanza della leggibilità e modularità del codice, ed esercitarsi nella scrittura di semplici programmi ben organizzati.


📚 Contenuti

🔹 Cos’è la programmazione strutturata

La programmazione strutturata è una metodologia che prevede la costruzione del codice seguendo tre strutture fondamentali:

  • Sequenza: esecuzione ordinata di istruzioni una dopo l’altra.
  • Selezione: scelta tra due o più percorsi tramite condizioni (if, else, switch...).
  • Iterazione: ripetizione di un blocco di istruzioni (for, while, do while...).

Questi costrutti permettono di scrivere programmi chiari, manutenibili, prevedibili.

🔹 Suddivisione del programma in moduli e sottoprogrammi

  • Un modulo è una porzione di codice indipendente con una funzione ben definita.
  • Un sottoprogramma può essere una funzione o procedura, utile per evitare ripetizioni.
  • Ogni programma dovrebbe essere decomponibile in blocchi logici e riutilizzabili.

🔹 Buone pratiche di scrittura del codice

  • Indentazione: rientri coerenti migliorano la leggibilità.
  • Commenti: spiegano cosa fa il codice, per sé e per gli altri.
  • Nomenclatura significativa: usare nomi chiari per variabili e funzioni.
  • Evita ridondanze: applica il principio DRY (Don’t Repeat Yourself).

🎯 Attività pratiche

✏️ Attività 1 – Ristruttura il codice

Consegna uno spezzone di codice scritto in modo confuso e chiedi di:

  1. Correggere l’indentazione.
  2. Rinominare variabili in modo più significativo.
  3. Inserire commenti esplicativi.

🔧 Esempio prima:

a=10
b=20
if a>b:
print("a maggiore")
else:
print("b maggiore")

Esempio dopo:

# Confronta due numeri e stampa il maggiore
num1 = 10
num2 = 20

if num1 > num2:
    print("num1 è maggiore")
else:
    print("num2 è maggiore")

🧩 Attività 2 – Costruzione di mini-programmi modulati

Progetta un semplice programma a scelta (es. calcolo media voti, convertitore di temperature, somma di numeri pari...) usando almeno:

  • 1 struttura di selezione
  • 1 ciclo
  • 1 funzione

Esempio:
Funzione che calcola se un numero è primo
(utilizza def, for, if, return)


🧠 Attività 3 – Decomposizione logica di un problema

Dai un problema reale (es. organizzare una giornata scolastica, cucinare una ricetta, prenotare un volo) e chiedi di:

  • Identificare le azioni in sequenza
  • Dove ci sono scelte
  • Dove ci sono ripetizioni

Esempio: “Organizza la giornata di scuola”

  • Sequenza: svegliarsi, fare colazione, vestirsi
  • Selezione: se piove, prendere l’ombrello
  • Iterazione: per ogni ora scolastica, seguire la lezione

Test di verifica finale

Domande a scelta multipla

  1. Quale delle seguenti NON è una struttura base della programmazione strutturata?
    a) Sequenza
    b) Ricorsione
    c) Iterazione
    d) Selezione

  2. Cosa si intende per "modulo" in un programma?
    a) Una parte casuale del codice
    b) Una sezione che stampa su schermo
    c) Un blocco indipendente con funzione specifica
    d) Una struttura ciclica

  3. Qual è lo scopo dei commenti in un programma?
    a) Velocizzare l’esecuzione
    b) Rendere il codice più leggibile
    c) Salvare il codice automaticamente
    d) Impedire errori di sintassi

  4. Cosa significa l'acronimo DRY?
    a) Don’t Repeat Yourself
    b) Do Repeat Yourself
    c) Don’t Run Yet
    d) Develop Recent YAML

  5. Quale tra questi è un buon esempio di nome di variabile?
    a) a1
    b) xz3
    c) contatoreStudenti
    d) 123nome


Esercizio aperto

Scrivi un semplice programma (in pseudocodice o Python) che:

  • Chieda all’utente tre numeri
  • Calcoli la media
  • Stabilisca se è maggiore di 10
  • Restituisca un messaggio coerente

📝 Soluzioni test

  1. b) Ricorsione
  2. c) Un blocco indipendente con funzione specifica
  3. b) Rendere il codice più leggibile
  4. a) Don’t Repeat Yourself
  5. c) contatoreStudenti



Nessun commento:

Posta un commento

Come sopravvivere con l'informatica: Neurosimulators: deep learning ispirato al cervello

  📌 Neurosimulators: deep learning ispirato al cervello La prossima rivoluzione dell’intelligenza artificiale potrebbe arrivar...