Cap. 13 Pensiero computazionale e fondamenti di programmazione Terminologia 272 parole

Algoritmo: passaggi finiti e ordinati, non un programma

Un algoritmo è un insieme finito e ordinato di passaggi per risolvere un problema; la trappola d'esame consiste nel confonderlo con un programma completo o con un elenco casuale.

Audio

Ascolta questa pagina (beta)

Sottotitoli

Un algoritmo è semplicemente una procedura passo dopo passo per risolvere un problema e deve avere un inizio e una fine chiaramente definiti. I passaggi devono seguire un ordine logico: invertendone due, l'algoritmo potrebbe non funzionare. È fondamentale comprendere che un algoritmo non equivale a un programma: un programma è un algoritmo scritto in uno specifico linguaggio di programmazione, mentre l'algoritmo stesso può essere espresso in italiano corrente, mediante un diagramma di flusso o persino con una formula di un foglio di calcolo. Per esempio, una ricetta per preparare il tè è un algoritmo; il codice Python per preparare il tè è un programma.

Per riconoscere un algoritmo in una domanda a scelta multipla, verifica tre caratteristiche: finitezza (deve terminare dopo un numero finito di passaggi), ordine (i passaggi devono seguire una sequenza sensata) e determinatezza (ogni passaggio deve essere privo di ambiguità). Una trappola comune consiste nel presentare un elenco di istruzioni casuali: non è un algoritmo perché manca un ordine. Un'altra trappola consiste nel mostrare un solo passaggio, come «risolvere l'equazione»: è troppo vago e non costituisce un insieme finito di passaggi. La presenza di un ciclo o di una condizione non impedisce che si tratti di un algoritmo, che deve comunque essere finito.

Un modo rapido per verificare qualsiasi possibile risposta consiste nel chiederti: «Potrei seguire questi passaggi meccanicamente e ottenere sempre lo stesso risultato?». Se sì, si tratta di un algoritmo. Se i passaggi non sono ordinati o sono infiniti, non lo è. Per l'esame, ricorda il metodo mnemonico «FOF» — Finito, Ordinato, Finito (di nuovo) — per non confondere un algoritmo con un programma o con un elenco disordinato.

Flashcard collegata

Che cos'è un algoritmo?

Un insieme finito e ordinato di passaggi per risolvere un problema o svolgere un compito.

Torna alla flashcard Vedi tutte le flashcard