martedì 24 aprile 2018

Cos'è Un Algoritmo e Come Costruirlo

Un algoritmo o, se preferite, "un procedimento di calcolo" è “un insieme finito di istruzioni atte a risolvere un problema in una determinata categoria.
Qualsiasi operazione viene svolta da macchine è, alla fine della fiera, un algoritmo.
Ma estendendo il discorso, qualsiasi operazioni che svolgiamo durante il giorno è schematizzabile grazie ad un algoritmo (tutte le operazioni che svolgiamo per fare il caffè, per mettere in moto una macchina, per fare la spesa, etc).
Questo termine deriva dalla trascrizione latina del nome del matematico persiano al-Khwarizmi.
In ambito informatico, un problema è calcolabile quando è risolvibile mediante un algoritmo.
In altre parole, tutti i problemi risolvibili mediante algoritmo sono automaticamente calcolabili da un calcolatore.
Inoltre l’algoritmo è fondamentale per la programmazione in quanto è “scritto” in un linguaggio umano, traducibile in qualsiasi linguaggio di programmazione e garantisce la correttezza delle operazioni svolte.


REGOLE
Siamo noi a decidere come impostare un algoritmo, tuttavia ci sono delle regole da rispettare:
-Le istruzioni non devono essere ambigue (ogni operazione prevista dall’algoritmo deve essere univocamente interpretabile dall’esecutore).
-Ogni operazione deve essere eseguibile con le risorse a disposizione dell’esecutore.
-Ordine di esecuzione delle istruzioni deterministico.
-Numero finito di passi di esecuzione: questo implica che il numero totale di istruzioni da eseguire, per ogni insieme di dati di ingresso, è finito e le operazioni da esse specificate devono essere eseguite un numero finito di volte.
-Deve essere efficiente: cioè fare un uso limitato di risorse (tempo di esecuzione e quantità di memoria utilizzata).
-Deve essere facilmente comprensibile.
-Modificabile (nel caso di modifiche nelle specifiche del problema risolto dall’algoritmo).


COSTRUZIONE DI UN ALGORITMO
Siamo appunto noi a decidere come impostarlo ma è buona regola sapere che ogni istruzione da eseguire o variabile da assegnare ad una data cella ha una certa forma geometrica (ovviamente ciò ai fini della programmazione serve a niente. L'unica funzionalità è magari rendere più leggibile questa sequenza di operazioni ma come detto ai fini della programmazione, in questa fase, ha poca importanza se l'istruzione "IF" viene inglobata in un rettangolo, rombo o cerchio).

Ad ogni modo ci sono varie figure geometriche così schematizzabili:
-Ovale: questo simbolo si utilizza per indicare l’inizio e la fine dell’algoritmo.
-Parallelogramma: usato per indicare operazioni di ingresso (Input) oppure operazioni di uscita (Output).
Gli input sono dati che l’utente da inserisce nel programma, come ad esempio l’ inserimento di un numero, mentre l’output è il risultato che il sistema restituisce dopo aver svolto delle operazioni, come ad esempio il risultato di una somma.
-Rettangolo: nel rettangolo si scrivono le operazioni (assegnazioni, operazioni aritmetiche) che vogliamo far svolgere al nostro programma (ad esempio somma tra operazioni, sottrazione, etc)
-Rombo: il rombo indica una condizione, le condizioni sono molto importanti nei programmi in quanto permettono di scegliere strade diverse in funzione del risultato della condizione. (ad esempio se A è maggiore di B, allora scrivi 1, altrimenti scrivi 0; se A è uguale a B, scrivi 0, altrimenti scrivi 1; se A è diverso da 0, aggiungi B ad A).


Nessun commento:

Posta un commento