← Torna al blog Programmazione · 8 min di lettura

Come si costruisce un algoritmo: dal problema al programma

📅 15 giugno 2026 — di Alessandro Simone

Molti studenti pensano che programmare significhi "scrivere codice". In realtà la parte difficile viene prima: capire come risolvere il problema, passo dopo passo. Questo ragionamento ha un nome, si chiama algoritmo, ed è il vero cuore dell'informatica. In questa guida ti spiego cos'è un algoritmo, come si costruisce e perché conviene sempre ragionare prima di mettere le mani sulla tastiera.

Cos'è un algoritmo?

Un algoritmo è una sequenza di passi precisi e ordinati che porta dalla situazione di partenza alla soluzione di un problema. Detta così sembra una definizione da manuale, ma in verità tu segui algoritmi in continuazione, senza chiamarli così.

Pensa a una ricetta di cucina: prendi gli ingredienti, li lavori in un certo ordine, e ottieni un piatto. Oppure alle istruzioni per uscire di casa la mattina: sveglia, colazione, vestirsi, prendere le chiavi, uscire. Sono algoritmi: passi ordinati che, eseguiti correttamente, ti portano a un risultato. Un programma non è altro che un algoritmo scritto in un linguaggio che il computer capisce.

Perché conviene ragionare prima di scrivere codice?

Perché il computer fa esattamente quello che gli dici, non quello che intendevi. Se l'algoritmo nella tua testa è confuso, il codice sarà confuso, e passerai più tempo a correggere errori che a scrivere. Ragionare prima ti fa separare due problemi diversi: cosa deve fare il programma e come lo scrivo in un linguaggio.

Te lo dico da docente: gli studenti che si bloccano davanti al foglio bianco, nella maggior parte dei casi, non hanno un problema di codice. Hanno un problema di ragionamento: non hanno ancora chiaro l'algoritmo. Quando l'algoritmo è chiaro, tradurlo in codice diventa quasi automatico. Per questo a scuola, e in laboratorio, si parte sempre dal ragionamento.

Come si analizza un problema? Input, elaborazione, output

Per costruire un algoritmo, il primo passo è scomporre il problema in tre domande. È uno schema semplice ma potentissimo, che funziona per qualsiasi programma:

INPUT Quali dati ho? ELABORAZIONE Cosa devo farci? OUTPUT Cosa voglio ottenere?
Lo schema input-elaborazione-output: la base per analizzare qualsiasi problema.

Rispondere a queste tre domande prima di scrivere è già metà del lavoro fatto. Hai trasformato un problema vago in qualcosa di concreto.

In quanti modi si può rappresentare un algoritmo?

Ecco un'idea che ti accompagnerà per tutto lo studio della programmazione: lo stesso algoritmo si può scrivere in tre modi diversi, dal più informale al più formale. Sono tre lingue per dire la stessa cosa.

Il primo modo è a parole, in italiano: "leggi i due voti, calcola la media, se è almeno 6 scrivi promosso, altrimenti rimandato". Si chiama pseudocodice quando lo si scrive in modo un po' più strutturato. È il modo più vicino a come pensiamo.

Il secondo modo è il diagramma di flusso, cioè lo schema visivo con le forme e le frecce. È utilissimo perché mostra a colpo d'occhio il percorso del ragionamento, soprattutto quando ci sono decisioni. Se vuoi vedere come funziona, ne ho parlato nel dettaglio nell'articolo su cos'è un diagramma di flusso e come si legge.

Il terzo modo è il codice vero e proprio, scritto in un linguaggio come Python. È la traduzione finale, quella che il computer esegue. Il bello è che se i primi due passaggi sono chiari, il codice viene quasi da sé.

Un esempio completo: dalla parola al codice

Prendiamo il classico problema della media di due voti e seguiamolo nei tre modi. A parole: "chiedo i due voti, li sommo e divido per due, poi controllo se la media raggiunge il sei e dico l'esito". Questo stesso ragionamento, disegnato come diagramma di flusso e poi tradotto in Python, lo trovi sviluppato passo passo nell'articolo dedicato. Qui ti mostro solo il punto d'arrivo, il codice, così vedi dove si va a parare:

# Input: leggo i due voti
voto1 = float(input("Primo voto: "))
voto2 = float(input("Secondo voto: "))

# Elaborazione: calcolo la media
media = (voto1 + voto2) / 2

# Output: comunico il risultato e l'esito
print("Media:", media)
if media >= 6:
    print("Promosso")
else:
    print("Rimandato")

Riconosci lo schema? Le prime due righe sono l'input, il calcolo è l'elaborazione, e le stampe sono l'output. Lo schema di prima è diventato un programma. Se vuoi provarci tu, c'è un esercizio guidato in cui costruisci questo programma passo passo, scrivendo ed eseguendo il codice direttamente nel browser.

Quali errori si fanno costruendo un algoritmo?

Da docente, gli inciampi che vedo più spesso quando uno studente costruisce il suo primo algoritmo sono questi:

In sintesi

Costruire un algoritmo significa ragionare sui passi che risolvono un problema, prima ancora di scrivere codice. Parti sempre dallo schema input-elaborazione-output, poi rappresenta il ragionamento prima a parole, poi come diagramma di flusso, e infine come codice. È il metodo che useremo in tutto il percorso. Il prossimo passo è imparare a leggere e disegnare i diagrammi di flusso, il primo strumento visivo per dare forma ai tuoi algoritmi, per poi scoprire le tre strutture di base con cui si costruisce qualsiasi programma.

Domande frequenti

Cos'è un algoritmo in informatica? +

Un algoritmo è una sequenza di passi precisi e ordinati che porta dalla situazione di partenza alla soluzione di un problema. Non è un concetto astratto: anche una ricetta di cucina o le istruzioni per uscire di casa sono algoritmi, cioè passi ordinati che eseguiti correttamente portano a un risultato. In informatica, un programma è semplicemente un algoritmo scritto in un linguaggio che il computer può eseguire, come Python. Imparare a costruire algoritmi è la vera base della programmazione, più ancora della conoscenza di un linguaggio specifico.

Come si costruisce un algoritmo passo dopo passo? +

Il primo passo è analizzare il problema con lo schema input-elaborazione-output: quali dati ho a disposizione (input), quali operazioni devo farci (elaborazione) e quale risultato voglio ottenere (output). Una volta chiarite queste tre cose, si descrive la sequenza dei passi prima a parole, poi eventualmente con un diagramma di flusso, e infine la si traduce in codice. La regola d'oro è ragionare prima di scrivere: quasi tutti i blocchi davanti al foglio bianco nascono dall'aver saltato l'analisi e essersi buttati subito sul codice senza un'idea chiara.

Qual è la differenza tra algoritmo e programma? +

L'algoritmo è il ragionamento, cioè la sequenza di passi che risolve il problema, indipendente da qualsiasi linguaggio. Il programma è quello stesso algoritmo tradotto in un linguaggio di programmazione che il computer può eseguire, come Python, C o Java. In altre parole, l'algoritmo è il "cosa fare" e il programma è il "come dirlo al computer". Lo stesso algoritmo può diventare programmi diversi in linguaggi diversi: il ragionamento resta identico, cambia solo la sintassi con cui lo si scrive.

In quanti modi si può rappresentare un algoritmo? +

Principalmente in tre modi, dal più informale al più formale. Il primo è a parole, in linguaggio naturale o in pseudocodice, vicino a come pensiamo. Il secondo è il diagramma di flusso, una rappresentazione visiva con forme e frecce che mostra a colpo d'occhio il percorso del ragionamento, utile soprattutto quando ci sono decisioni. Il terzo è il codice vero e proprio, scritto in un linguaggio come Python ed eseguibile dal computer. Sono tre lingue per dire la stessa cosa: se i primi due passaggi sono chiari, scrivere il codice diventa molto più semplice.

Perché è importante studiare gli algoritmi prima di programmare? +

Perché il computer esegue esattamente ciò che gli viene detto, non ciò che si intendeva. Se il ragionamento di partenza è confuso, il codice sarà confuso e si perderà più tempo a correggere errori che a scrivere. Studiare gli algoritmi insegna a separare due cose distinte: cosa deve fare il programma e come scriverlo in un linguaggio. Questa è la difficoltà vera della programmazione, molto più della sintassi. Quando l'algoritmo è chiaro, tradurlo in codice diventa quasi automatico, ed è proprio per questo che a scuola e in laboratorio si parte sempre dal ragionamento.

Continua il percorso

Ora che sai cos'è un algoritmo, il passo successivo è imparare a disegnarlo: scopri come funziona il diagramma di flusso.

Vai al diagramma di flusso →