LEZAL0
Algoritmi(0)
Analisi del problema
Analizzare un problema significa compiere i seguenti passi:
1. Descrivere il problema: definire i dati in input, i confini del problema , i dati in output, le risorse
a disposizione, le soluzioni adottate.
2. Definire il procedimento (algoritmo)
3. Eseguire l’algoritmo
Si arriva cosi’ alla nozione di algoritmo:
Concetto di algoritmo
Il calcolatore elettronico per risolvere un problema utilizza un algoritmo, cioè un insieme di azioni
(o istruzioni) che, eseguite secondo un ordine prestabilito, permettono di trovare il risultato cercato
sulla base dei dati in ingresso.
Il concetto di algoritmo è uno dei concetti di base dell'intera matematica: i più semplici ed antichi
algoritmi sono le regole per eseguire le operazioni dell'aritmetica elementare, formulate dal
matematico arabo medioevale Al-Khuwarizmi, da cui deriva appunto il nome di algoritmo.
Si può definire un algoritmo come una sequenza ordinata e finita di passi (operazioni o
istruzioni) elementari che conduce ad un ben determinato risultato in un tempo finito.
Sequenza : l’ordine temporale con cui le azioni vengono eseguite
Finita:l’ elaborazione deve avere termine in un tempo finito
Passi elementari:l’ azione deve essere direttamente eseguita dall’ esecutore senza aiuti esterni.






Altre caratteristiche dell’ algoritmo
Realizzabile :deve poter essere eseguito dall’ esecutore. Nel nostro caso l’ esecutore è il computer, il
quale possiede le seguenti abilità:
 Eseguire le quattro operazioni;
 Svolgere operazioni di confronto;
 Trasferire dati da una zona all’ altra del computer;
 Acquisire dati dall’ ambiente esterno;
 Comunicare dati all’ ambiente esterno.
Non ambiguo:interpretabile in modo univoco dall’ esecutore
Risultato osservabile: ogni istruzione deve produrre un effetto riscontrabile
Deterministico: ad ogni passo dell’ esecuzione deve essere definita una ed una sola operazione da
eseguire successivamente
Generale: deve risolvere tutti i problemi della stessa categoria
Esaustivo: deve essere indicata la soluzione per tutti i casi che si possono verificare
Dall’algoritmo al processo:
1. Stesura dell’algoritmo ovvero descrizione delle azioni da intraprendere per trasformare un
insieme di dati iniziali in un insieme di risultati finali.
L’algoritmo viene rappresentato tramite un diagramma di flusso (flowchart) o tramite uno
pseudolinguaggio.
2. Traduzione dell’algoritmo descritto nel diagramma di flusso in un programma usando un
linguaggio di programmazione. Il linguaggio di programmazione è un insieme di simboli e
regole per rappresentare le istruzioni di un algoritmo e la loro concatenazione che il
computer è in grado di interpretare ed eseguire.
3. Il programma una volta corretto può essere mandato in esecuzione sul computer.
Il programma mentre viene eseguito viene detto processo