PROGRAMMIAMO
Algoritmi - Definizioni

Definizione di algoritmo

Un algoritmo è una sequenza di comandi (detti istruzioni) che istruiscono sull'esecuzione di un determinato compito.

Esempi di algoritmi possono essere: una ricetta di cucina, uno spartito musicale, le istruzioni per il montaggio di un mobile, un programma per il calcolatore.

 

Esperto, esecutore, utente

In generale l'algoritmo è scritto da un esperto ed eseguito da un esecutore. Esecutore ed esperto sono di solito (anche se non necessariamente) due soggetti distinti. Inoltre l'algoritmo viene eseguito per un utente, che a sua volta non coincide sempre con l'esperto e l'esecutore.

La tabella seguente riporta alcuni esempi e dovrebbe servire per chiarire i concetti:

Esempio Esperto Esecutore Utente
Spartito musicale Compositore Musicista Ascoltatore
Istruzioni montaggio mobile Progettista Operaio montatore Acquirente
Ricetta di cucina Chef Cuoco Cliente del ristorante
Programma Programmatore Computer Utente del computer

 

Linguaggio

Esperto ed esecutore devono condividere la conoscenza del linguaggio col quale è stato scritto l'algoritmo. Tale linguaggio può essere una lingua naturale (come per esempio l'italiano, in una ricetta), una notazione particolare (es. la notazione musicale negli spartiti), un linguaggio pittografico ad immagini (come nelle figure delle istruzioni di montaggio di certi mobili) o un linguaggio artificiale di programmazione (nel caso dei programmi per un computer).

Si noti che invece l'utente può anche ignorare completamente il linguaggio col quale è stato scritto l'algoritmo (per esempio un ascoltatore di musica può benissimo non conoscere la notazione musicale).

Ambiguità

I linguaggi naturali (come per esempio l'italiano) sono spesso ambigui, cioè possono essere interpretati in modi diversi. Un esempio di frase ambigua è "La vecchia porta la sbarra", che può avere due significati completamente differenti.

In molti casi le istruzioni fornite in un linguaggio naturale sono inoltre imprecise, come per esempio quando in una ricetta c'è scritto "salare" senza specificare esattamente la quantità di sale.

Ambiguità e imprecisione non creano generalmente problemi nella comunicazione fra esseri umani dotati di intelligenza, ma non sono possibili dovendo comunicare con un computer (cioè una macchina). Per questa ragione i linguaggi di programmazione devono consentire di scrivere algoritmi in modo chiaro, senza imprecisioni e senza nessuna possibile ambiguità.

 

Proprietà degli algoritmi eseguibili da un computer

In generale, per poter essere eseguito automaticamente da un computer, un algoritmo deve essere:

 

 

 

successiva

Sito realizzato in base al template offerto da

http://www.graphixmania.it