Gli Algoritmi in informatica
Un algoritmo è un procedimento che risolve un determinato problema attraverso un numero finito di passi elementari. Il termine deriva dalla trascrizione latina del nome del matematico persiano al-Khwarizmi[1], che è considerato uno dei primi autori ad aver fatto riferimento a questo concetto. L’algoritmo è un concetto fondamentale dell’informatica, anzitutto perché è alla base della nozione teorica di calcolabilità: un problema è calcolabile quando è risolvibile mediante un algoritmo. Inoltre, l’algoritmo è un concetto cardine anche della fase di programmazione dello sviluppo di un software: preso un problema da automatizzare, la programmazione costituisce essenzialmente la traduzione o codifica di un algoritmo per tale problema in programma, scritto in un certo linguaggio, che può essere quindi effettivamente eseguito da un calcolatore.
Fonte: Wikipedia
Un algoritmo nell’informatica è una seguenza di passi (o calcoli) da compiere per risolvere un problema.
Qui sotto propongo un esempio di algoritmo
L’algoritmo di addizione in colonna che si impara alle scuole elementari e utilizzabile per numeri rappresentati secondo lo schema posizionale qualunque sia la base di rappresentazione. Un semplice esempio illustra l’algoritmo nel caso di numeri x e y rappresentati in base 2, che sono quelli di nostro immediato interesse:
L’operazione elementare, che viene ripetuta nella generazione “da destra verso sinistra” del risultato (cio é dalla posizione meno signi cativa a quella pi u signi cativa), consiste nella somma di al pi u 3 numeri di 1 bit ciascuno. Infatti, una tale somma e rappresentabile con al pi u due bit (1 + 1 = 102) e dunque pu o generare un riporto solo sulla posizione immediatamente successiva. In questo modo viene mantenuto l’invariante che ad ogni posizione del risultato contribuisce la somma di al pi u tre numeri di un solo bit.
Per formalizzare l’algoritmo in opportuno pseudocudice, iniziamo ponendox = xn-1xn-2 … x1x0; e y = yn-1yn-2 … y1y0
dove xn-1 e yn-1 sono i bit pi u signi cativi mentre x0 e y0 sono quelli meno signi cativi. Indichiamo inoltre con si, i = 0, … n i bit della somma s = x + y da calcolare; infi ne, indichiamo con ci il bit di riporto sulla posizione i-esima (i = 0, …n). Naturalmente vale c0 = 0 in quanto sulla posizione meno signi cativa non c’ e riporto.
L’aiuto ad implementare un algoritmo ci viene dato dallo sviluppo di un diagramma di flusso.
I diagrammi di flusso sono grafici creati utilizzando una successione di figure (ognuna delle quali identifica una particolare azione) che rappresentano un ragionamento logico di immediata comprensione.