
Algoritmo, questo misconosciuto?
Sento spesso, sulla nostra piattaforma, accennare a questo "misterioso oggetto" : "aahh quando sarà pronto l'algoritmo....", "con l'algoritmo si sistemerà tutto". E quindi mi sorge spontanea una domanda, ovvero : "sappiamo tutti cos'è un algoritmo"?

Nel mio passato di informatico ho scritto algoritmi poi utilizzati in azienda; posso quindi affermare di sapere cosa essi siano.
Può essere che non sia così per tutti, quindi ecco qui un breve articolo descrittivo.
Fonte dell'articolo :
Ultimo aggiornamento: 16 Giugno 2019 Aldo Barillaro Informatica generale
CHE COS’È UN ALGORITMO IN GENERALE E IN INFORMATICA?
Un algoritmo non è altro che una semplice procedura che tenta di risolvere un determinato problema applicando un certo numero di passi elementari. Analogamente, in informatica, un algoritmo non è altro che un semplice procedimento che permette la risoluzione di specifici problemi mediante l’applicazione di una sequenza finita di precise istruzioni che, a loro volta, devono essere interpretate ed eseguite fino alla loro conclusione seguendo un ben preciso ordine.
Da questa definizione si deducono quindi le seguenti proprietà fondamentali che deve avere un qualunque algoritmo:
i passi dell’algoritmo devono essere elementari, cioè non possono essere ulteriormente divisibili
(atomicità);
i passi dell’algoritmo non possono essere interpretati in altri modi
(non ambiguità);
l’algoritmo deve per forza essere svolto in un certo numero di specifici passi e, allo stesso tempo, deve richiedere in ingresso soltanto una determinata quantità di dati
(finitezza);
l’esecuzione dell’algoritmo deve terminare entro un certo periodo di tempo
(terminazione);
l’esecuzione dell’algoritmo deve portare ad un risultato univoco (effettività);
ogni passo dell’algoritmo deve essere ben stabilito
(determinismo).
Ad esempio, per preparare il caffè bisogna:
prendere la macchinetta del caffè, il caffè macinato ed un cucchiaino;
aprire la macchinetta del caffè e successivamente togliere il filtro;
riempire la macchinetta del caffè con dell’acqua;
mettere il caffè macinato nel filtro tramite il cucchiaino;
mettere il filtro con il caffè macinato sopra la macchinetta riempita con dell’acqua;
chiudere la macchinetta del caffè;
aprire il fornello;
posizionare la macchinetta del caffè sul fornello.
Come vedi, questo banale esempio rispecchia tutte le proprietà che dovrebbe avere un qualsiasi algoritmo, ed in più dovrebbe anche farti capire sia come si creano gli algoritmi, sia come dovrebbero essere tutti gli altri algoritmi, solamente che gli altri algoritmi potrebbero essere molto più lunghi ed intricati rispetto a questo che consente di preparare il caffè
DIAGRAMMI DI FLUSSO
A volte, per mostrare la procedura seguita da un certo algoritmo, potrebbe anche essere adoperato un cosiddetto diagramma di flusso. Per rappresentare i diversi concetti, nella maggior parte dei casi questi diagrammi di flusso utilizzano infatti cinque distinti blocchi:
inizio;
ingresso/uscita;
elaborazione;
controllo;
fine.
Per chiarirti meglio le idee sull’utilità di questi diagrammi di flusso prendiamo ad esempio il seguente algoritmo che verifica se è possibile fare uno spuntino:
inizia lo spuntino
hai a disposizione qualcosa da poter mangiare?
mangia
hai ancora fame?
fine dello spuntino
L’algoritmo esposto in questo modo risulta piuttosto difficile da comprendere.
Tuttavia, rappresentando il suddetto algoritmo attraverso un semplice diagramma di flusso, sarà molto più facile capirne il funzionamento:
La rappresentazione grafica di un algoritmo mediante l’utilizzo di un diagramma di flusso potrebbe sembrare una sciocchezza, eppure, utilizzando questi semplici diagrammi di flusso, non solo sarà possibile esprimere concetti davvero molto complessi, ma a volte sarà anche possibile facilitare il compito al programmatore che dovrà creare complicati programmi.
In ogni caso, arrivati a questo punto, dovresti aver finalmente capito che cos’è un algoritmo in generale e in informatica.
Il sunto di questo articolo è quindi :
Ho fame, mangio una pizza poi mi bevo un caffè.
Scherzi a parte spero che questa breve dissertazione possa essere utile.
Ho volutamente evitato di entrare in argomenti filosofico/informatici limitandomi a riportare l'articolo originale.
Remo Riva.