Algoritmi
Nella vita quotidiana ci troviamo ad affrontare problemi di varia natura e per i quali dobbiamo trovare
procedimenti risolutivi sulla base delle informazioni e dei dati che abbiamo a disposizione. Il procedimento che risolve un problema viene detto algoritmo, usando un termine che indica in matematica, la
sequenza delle azioni da compiere per effettuare un calcolo o un’elaborazione di dati. Se l’algoritmo
deve essere eseguito da un’altra persona o da una macchina, esso deve essere composto da un numero finito di comandi, o di istruzioni, che l’esecutore dovrà seguire con precisione. Inoltre per i computer occorre usare linguaggi speciali, detti linguaggi di programmazione, che traducono le istruzioni in una forma comprensibile al computer. La traduzione dell’algoritmo si chiama programma per il
computer. Si usa uno pseudo linguaggio di programmazione che usa parole della lingua italiana per
rappresentare le istruzioni. Essendo istruzioni per l’esecutore, esse sono scritte nella forma imperativa.
Es.: descrivere le operazioni che vengono eseguite dal suono della sveglia all’uscita di casa.
Analisi: al suono della sveglia mi stiracchio assonnato, scendo dal letto di malavoglia e vado in bagno
a fare una doccia tonificante; in cucina mi aspetta una ricca colazione, al termine della quale mi vesto
e mi pettino. Dopo aver controllato il contenuto dello zaino sono pronto per uscire: indosso il giubbotto, saluto la mamma, esco di casa e mi dirigo verso la fermata dell’autobus.
Algoritmo: è mattina: svegliati. Fai una doccia. Fai colazione. Vestiti. Pettinati. Controlla lo zaino. indossa il giubbotto. Saluta la mamma. Esci di casa. Dirigiti alla fermata dell’autobus.
Questo algoritmo però tiene conto solo di tutte le operazioni da svolgere nei giorni feriali, invece un
algoritmo deve avere valenza generale, quindi deve essere applicabile a tutti i giorni (domeniche e feste comprese).
Al suono della sveglia ho diverse possibilità: 1) è giorno festivo  non vado a scuola
2) è un giorno feriale  ho diverse possibilità:
è un giorno di vacanza  non vado a scuola
non mi sento bene  non vado a scuola
negli altri casi  vado a scuola
Algoritmo:
è mattina: svegliati
se è un giorno feriale, non è vacanza e non sei malato
Fai una doccia. Fai colazione. Vestiti. Pettinati. Controlla lo zaino. Indossa il giubbotto. Saluta la mamma. Esci di casa. Dirigiti alla fermata dell’autobus.
altrimenti rimani a dormire
L’algoritmo può essere descritto anche usando uno schema grafico, detto diagramma di flusso (o
diagramma a blocchi), che utilizza alcuni simboli standard per rappresentare le azioni comunemente
presenti in un procedimento risolutivo del problema:
inizio
- simboli ovali per l’inizio e la fine del diagramma
fine
- il parallelogramma per indicare l’acquisizione dei dati in ingresso (input) e l’uscita dei risultati (output)
- il rettangolo per indicare un’operazione o un calcolo
- il rombo per indicare la scelta tra due strade possibili (vero/falso, sì/no)
inizio
Input A
falso
A > 10
vero
B=Ax3
Output B
vero
altri numeri?
falso
fine
vero
falso
Es.: controllare il livello dell’olio del motore.
Analisi: per controllare il livello dell’olio del motore è necessario aprire il cofano e, dopo aver individuato l’asta indicatrice, estrarla, pulirla e riporla; quindi estrarla nuovamente per effettuare la verifica del livello. Se tale livello è inferiore al minimo, si reinserisce l’asta nell’alloggiamento, si svita il
tappo e si aggiunge un po’ d’olio, alternando successivi controlli finché si raggiunge una situazione
soddisfacente. Quindi si ripone l’asta e si chiudono il tappo e il cofano dell’auto.
INIZIO
Aprire il cofano
Individuare l’asta indicatrice
Aprire il cofano
Estrarre l’asta
Individuare l’asta indicatrice
Pulire l’asta
Estrarre l’asta
Riporre l’asta
Riestrarre l’asta
Pulire l’asta
Effettuare la verifica del livello
Riporre l’asta
Il livello è inferiore al minimo?
Riporre l’asta nell’alloggiamento
Svitare il tappo
Riestrarre l’asta
SÌ
Aggiungere un po’ d’olio alternando il controllo finché si raggiunge una situazione soddisfacente
Riporre l’asta
Chiudere il tappo
Chiudere il cofano dell’auto
NO
Il livello è minore del minimo?
Riporre l’asta
Riporre l’asta
Svitare il tappo
Chiudere il cofano
Aggiungere olio
Chiudere il tappo
FINE
Esercizi
 Descrivere la procedura per la preparazione del budino e realizzare il corrispondente diagramma di
flusso.
 Descrivere la procedura per prelevare una lattina di bibita dalla macchina distributrice automatica
che non dà resto e realizzare il corrispondente diagramma di flusso.
 Descrivere la procedura per ottenere il diploma di maturità e realizzare il corrispondente diagramma
di flusso.
 Descrivere la procedura per ottenere in prestito un libro dalla biblioteca e realizzare il corrispondente diagramma di flusso.
 Descrivere la procedura per vincere i campionati mondiali di calcio partendo dalle selezioni continentali e realizzare il corrispondente diagramma di flusso.
 Descrivere la procedura per una ricetta di un piatto regionale tipico a piacere e realizzare il corrispondente diagramma di flusso.