ChimeraRevo – Le migliori guide e recensioni tech del Web
menubar
ChimeraRevo – Le migliori guide e recensioni tech del Web close menu
  • News
  • Offerte
  • Guide
  • Guide di acquisto
  • Recensioni
Home > Guide > Internet > Che cos’è un algoritmo?

Che cos’è un algoritmo?

Gaetano Abatemarco Gen 17, 2017

L’algoritmo di Google decide chi sta più in alto nella SERP (= pagina dei risultati del motore di ricerca). Un algoritmo di ordinamento permette al programma X di disporre in ordine alfabetico gli elementi presenti in un foglio di calcolo. Ma c’è bisogno di un algoritmo anche per fare il caffè.

Il motivo? Semplice! Nella sua più generica definizione un algoritmo altro non è che il modo di fare qualcosa partendo da uno scenario iniziale ed arrivando ad uno scenario finale.

okcupid math
Ecco i 10 algoritmi che dominano il MondoAlla base delle meccaniche più importanti dei giorni nostri c'è... la matematica!
Internet
    Facebook

Ad esempio un algoritmo per fare il caffè, che parte dalla situazione caffè in polvere e termina nella situazione caffè liquido pronto, potrebbe essere il seguente:

  1. prendi il caffè in polvere;
  2. prendi un cucchiaino;
  3. prendi la moka;
  4. svita la moka ed aprila;
  5. togli il filtro;
  6. riempi il serbatoio della moka con dell’acqua;
  7. rimetti il filtro;
  8. riempi il filtro con il caffè;
  9. avvita la moka e chiudila;
  10. accendi il fornello;
  11. posiziona la moka;
  12. attendi finché il caffè esce liquido;
  13. il caffè è pronto.

Strano da credere ma anche questo è un algoritmo, così come lo è algoritmo quello che ci permette di ordinare le carte napoletane per seme o per numero, di decidere l’ordine con cui eseguiremo le faccende di casa e molto, molto altro!

Tralasciando però questa definizione molto molto informale, scendiamo ora nel dettaglio e vediamo che cos’è un algoritmo nel campo informatico. Useremo termini molto molto semplici e generalizzati, dunque questa piccola guida non va affatto sostituita ad una lezione scolastica ma può sicuramente aiutare a capire meglio i concetti.

Che cos’è un algoritmo in informatica?

In informatica un algoritmo è un procedimento che permette di risolvere uno o più problemi specifici tramite l’applicazione di una sequenza finita di istruzioni ben poste che devono essere interpretate ed eseguite fino a conclusione seguendo un ordine ben definito.

Un algoritmo, per essere definito tale, deve avere alcune proprietà fondamentali che sono: correttezza, efficienza, finitezza, determinismo, terminazione, realizzabilità e generalità. Vediamo in cosa consiste ciascuna di esse:

  • correttezza: deve risolvere il problema dato;
  • efficienza: il problema deve essere risolto nel miglior modo possibile – non soltanto in termini di velocità;
  • finitezza: deve essere composto di un numero finito di istruzioni, ciascuna delle quali viene eseguita per un numero finito di volte;
  • determinismo: le istruzioni devono essere definite senza ambiguità, ovvero essere dotate di ben precisa interpretazione; inoltre, a parità di valori in ingresso, un algoritmo eseguito più volte da diversi esecutori deve portare al medesimo risultato;
  • terminazione: per ogni insieme di valori in ingresso, l’esecuzione deve terminare in tempo finito;
  • realizzabilità: l’algoritmo deve poter essere eseguito con le risorse a disposizione dell’esecutore (sia in termini di informazioni che di tecnologia);
  • generalità: compatibilmente con i vincoli, un algoritmo deve occuparsi di risolvere famiglie di problemi.

All’interno di un algoritmo compaiono diversi elementi che, generalizzando, sono i seguenti:

  • oggetti: sono le entità su cui l’algoritmo opera, che possono essere dati in ingresso, informazioni, risultati intermedi e finali;
  • operazioni: sono gli interventi che si effettuano sugli oggetti di cui sopra;
  • strutture di controllo (sequenza, selezione ed iterazione): rappresentano le modalità di esecuzione delle operazioni. Ad esempio in una sequenza le operazioni vengono eseguite in successione; una selezione rappresenta una serie di operazioni da eseguire in alternativa; un’iterazione rappresenta una serie di operazioni da ripetere diverse volte.

Nel nostro esempio gli oggetti potrebbero essere il caffè ed il cucchiaino, le operazioni quelle di smontare e rimontare la moka, una struttura di controllo (selezione) quella di riempire il filtro di caffè (ovvero quella di riempire il cucchiaino di caffè e svuotarlo nel filtro finché il filtro stesso non è pieno).

Come si rappresenta?

Formalmente, ed in informatica, per rappresentare un algoritmo prima di implementarlo in codice si utilizzano due grandi metodi: lo pseudocodice e i diagrammi di flusso.

Lo pseudocodice è qualcosa che solitamente non viene definito in modo rigoroso: può essere qualcosa che rassomiglia a vero e proprio codice oppure un “incrocio” tra la sintassi di qualche linguaggio di programmazione ed il linguaggio naturale. In generale è bene che lo pseudocodice, in qualsiasi delle sue forme, sia comprensibile al programmatore che si occuperà di implementare l’algoritmo.

Proviamo a scrivere in pseudocodice l’algoritmo per preparare il caffè visto prima:

faiCaffè(cafPolv, cucc, moka)
begin
bollitore <- svitaMoka(bricco);
filtro <- togliFiltro(bollitore);
bollitore <- riempiBollitore(acqua);
filtro <- rimettiFiltro(bollitore);
repeat filtro <- filtro+caffè until filtro.isFull==true
moka <- avvitaMoka(bollitore,bricco)
posizionaMoka(fornello)
accendiFornello()
wait caffèLiquido finché bricco.isFull==true
end

Insomma una sorta di linguaggio inventato sul momento ma che, in qualche modo, si lascia capire!

Un altro metodo di rappresentazione è il diagramma di flusso (o flowchart): grazie ad una serie di linee e forme esso permette di disegnare graficamente l’algoritmo, così da renderlo comprensibile anche a persone diverse da chi l’ha progettato.

In linea di massima un diagramma di flusso si compone di cinque blocchi: inizio/fine, ingresso dati, elaborazione, controllo, uscita dati; è inoltre possibile rappresentare ciascun oggetto con una precisa forma.

Senza dilungarci in spiegazioni particolarmente tecniche, vediamo come si rappresenterebbe il nostro algoritmo per fare il caffè con un diagramma di flusso:

Risultato diagramma
Click per ingrandire

Insomma, qualcosa di molto più comprensibile delle semplici parole!

Come spegnere in automatico il router di notte

3 ore fa

Al giorno d’oggi avere una connessione a Internet a casa è diventata la normalità. Tuttavia, potrebbero esserci alcuni momenti nel corso della giornata in cui il Wi-Fi potrebbe non essere necessario, ad esempio quando siete leggi di più…

come spegnere in automatico il router di notte

Come trasferire musica da PC ad iPhone

2 settimane fa

La maggior parte degli utenti iPhone si interroga su come trasferire file MP3 da PC sul proprio smartphone. Nonostante possa sembrare una procedura difficoltosa, in realtà bastano pochi e semplici passaggi semplicemente sfruttando il tool leggi di più…

Come trasferire musica da PC ad iPhone

WhatsApp permette ora di cercare per data

4 settimane fa

WhatsApp, il popolare servizio di messaggistica, ha recentemente introdotto una nuova funzionalità che permette agli utenti di effettuare una ricerca per data delle conversazioni. Questa opzione è molto utile per chi ha bisogno di trovare leggi di più…

Nascondere lo stato online di WhatsApp

Come velocizzare un iPhone: consigli pratici e veloci

4 settimane fa

Se il tuo iPhone sta diventando lento e vorresti velocizzarlo, ci sono alcune cose che puoi fare per aiutare a migliorare le prestazioni. Ecco alcuni consigli. Spero che questi consigli ti siano stati utili per leggi di più…

Come convertire foto o ridurne le dimensioni su iPhone

Quale iPhone scegliere nel 2023? E i ricondizionati?

4 settimane fa

Molti si chiedono perché comprare un iPhone anche se di solito è una spesa molto impegnativa. Innanzitutto possiamo dire che si ha sempre la certezza di avere in mano uno smartphone al top in quel leggi di più…

quale iphone comprare

Iscriviti alla Newsletter

Articoli recenti

  • Come spegnere in automatico il router di notte
  • Come trasferire musica da PC ad iPhone
  • WhatsApp permette ora di cercare per data
  • Come velocizzare un iPhone: consigli pratici e veloci
  • Quale iPhone scegliere nel 2023? E i ricondizionati?
  • Chi siamo
  • Contatti
  • Pubblicità
  • Lavora con noi
  • Privacy

Copyright © 2020. Tutti i diritti riservati. ChimeraRevo SRL - P.I.: IT05544220659

Modifica impostazioni sulla privacy