9.1 – Dal Problema all’Algoritmo

Obiettivi della Lezione

  • Comprendere il processo di trasformazione di un problema in un algoritmo: Apprendere come analizzare un problema e sviluppare un algoritmo per risolverlo.
  • Definire gli algoritmi: Imparare cosa sono gli algoritmi e come vengono utilizzati per risolvere problemi.
  • Esercitazioni pratiche: Applicare le conoscenze acquisite per creare semplici algoritmi.

Introduzione agli Algoritmi

  1. Definizione di Algoritmo:
    • Descrizione: Un algoritmo è una sequenza finita di istruzioni non ambigue che, partendo da un input, conducono a un risultato desiderato.
    • Esempi: Ricette di cucina, istruzioni per montare un mobile, procedure per risolvere un problema matematico.

Dal Problema all’Algoritmo

  1. Identificazione del Problema:
    • Procedura:
      • Analizzare il problema e definire chiaramente quale risultato si desidera ottenere.
      • Esempio: Calcolare la media di una serie di numeri.
  2. Scomposizione del Problema in Passi:
    • Procedura:
      • Scomporre il problema in una serie di passi elementari e sequenziali.
      • Esempio:
        1. Sommare tutti i numeri.
        2. Contare quanti numeri ci sono.
        3. Dividere la somma totale per il numero di elementi.
  3. Scrittura dell’Algoritmo:
    • Procedura:
      • Tradurre i passi individuati in un linguaggio di pseudocodice o in un linguaggio naturale.
      • Esempio:
        1. Inizializzare la somma a 0.
        2. Per ogni numero nella lista, aggiungerlo alla somma.
        3. Contare il numero di elementi.
        4. Dividere la somma per il numero di elementi.
        5. Restituire il risultato.

Esercitazioni Pratiche

  1. Creazione di un Algoritmo per un Problema Semplice:
    • Attività:
      • Scegliere un problema semplice e sviluppare un algoritmo per risolverlo.
    • Esempio:
      • Problema: Trovare il numero massimo in una lista di numeri.
      • Algoritmo:
        1. Inizializzare una variabile max al primo numero della lista.
        2. Per ogni numero nella lista, se il numero è maggiore di max, assegnare il numero a max.
        3. Restituire max.
  2. Verifica dell’Algoritmo:
    • Attività:
      • Testare l’algoritmo con diversi set di dati per verificarne la correttezza.
    • Esempio:
      • Utilizzare una lista di numeri e verificare che l’algoritmo restituisca sempre il numero massimo.