back to top

Cos’è un algoritmo (informatica): definizione ed esempi di algoritmo

Un algoritmo è un procedimento che, attraverso una serie di passaggi logici, porta ad un risultato. In informatica e nella programmazione, l’algoritmo è costituito da una sequenza di istruzioni che l’elaboratore deve eseguire secondo l’ordine e le istruzioni impartite dallo sviluppatore.

Attraverso gli algoritmi i programmi sanno come affrontare certe situazioni, come risolvere i problemi o ottenere certi risultati partendo da dei dati certi.

Un esempio di algoritmo

Volendo semplificare, potremmo descrivere un algoritmo facendo riferimento ad azioni quotidiane come uscire per fare la spesa. Il nostro algoritmo potrebbe essere questo:

  • uscire di casa
  • fuori piove?
    • sì => prendi l’ombrello
    • no
  • muoviti verso la destinazione
  • fai la spesa
  • ritorna a casa

Questa sequenza di operazioni quotidiane è un algoritmo: a fronte di un’esigenza (uscire e fare la spesa) abbiamo descritto una serie di passaggi logici per il raggiungimento dell’obiettivo.

In informatica gli algoritmi funzionano allo stesso modo. Facciamo un esempio e supponiamo di dover realizzare un algoritmo in grado di mostrare l’età di un utente:

  • chiedo all’utente di inserire la data di nascita
  • l’utente inserisce una data valida?
    • no => emetto un errore e stoppo il processo
  • faccio un confronto tra la data odierna e la data di nascita
  • mostro l’età dell’utente

Come rappresentare un algoritmo

L’algoritmo può essere rappresentato in due modi diversi:

La prima modalità può andare bene per gli algoritmi più semplici, mentre per quelli più complessi, ricchi di istruzioni condizionali, è preferibile utilizzare una rappresentazione grafica mediante un diagramma di flusso (esistono diversi servizi online per creare diagrammi di flusso anche complessi).

Le proprietà degli algoritmi

Ogni algoritmo, per essere definito tale, deve possedere alcune proprietà, tra cui:

  • (atomicità) – i passaggi logici che compongono l’algoritmo devono essere "elementari", cioè non ulteriormente scomponibili in altri passaggi;
  • (non ambiguità) – i passaggi logici devono essere chiari e assolutamente non ambigui;
  • (finitezza) – i dati in ingresso ed i passaggi logici devono essere in numero finito;
  • (terminazione) – il processo deve terminare entro un tempo prestabilito;
  • (effettività) – il processo deve portare ad un risultato univoco.
Pubblicitร 
Massimiliano Bossi
Massimiliano Bossi
Stregato dalla rete sin dai tempi delle BBS e dei modem a 2.400 baud, ho avuto la fortuna di poter trasformare la mia passione in un lavoro (nonostante una Laurea in Giurisprudenza). Adoro scrivere codice e mi occupo quotidianamente di comunicazione, design e nuovi media digitali. Orgogliosamente "nerd" sono il fondatore di MRW.it (per il quale ho scritto centinaia di articoli) e di una nota Web-Agency (dove seguo in prima persona progetti digitali per numerosi clienti sia in Italia che all'estero).

Leggi anche...

LIM: cos’รจ, come funziona e perchรฉ รจ importante per la didattica

Cos'รจ la LIM? Come funziona? E perchรฉ รจ considerata...

Il significato del colore dei cuori su WhatsApp e Social

In un mondo dove la comunicazione digitale ha superato...

I migliori film sui videogiochi (che ogni gamer dovrebbe vedere)

Sin dagli anni 80 l'industria cinematografica ha iniziato ad...

Giochi nascosti in Google: quali sono e come trovarli

Molti di voi forse non si sono mai accorti...

Significato emoticon: le 100 emoji più utilizzate su Social e WhatsApp

Se sicuro di conoscere il vero significato delle emoticon...

Editor WYSIWYG: cosa sono, cosa fanno e come funzionano

WYSIWYG è un acronimo che significa "What You See...
Pubblicitร