Algoritmo
Soluzione di un Problema
Il nome deriva da quello di un Matematico Arabo
ABU JÀ FAR MOHAMMED IBN MÛSÂ AL KHOWÂRIZMÎ
Ha le seguenti caratteristiche :
- Sequenza
- Istruzioni scritte una dopo l’altra
- Eseguibili in un certo ordine una alla volta
- (Non necessariamente nello stesso ordine in cui sono state scritte)
- Istruzioni Elementari
- Le istruzioni non possono essere scomponibili ulteriormente rispetto alla capacità dell'esecutore
- Finitezza
- N° Finito di Istruzioni
- Definitezza
- Esiste un inizio
- Esiste almeno una Fine
(Possono essercene anche più di una) - Si segue una sola istruzione alla volta
(Solo alla fine di una istruzione può essere eseguita la successiva ) - Deve essere un Comando ben definito
- Deterministico
- Ogni istruzione deve produrre sempre lo stesso effetto se eseguita a partire dalle stesse condizioni iniziali.
- Terminazione
- Esiste una Fine
- Deve terminare
(Deve essere Raggiungibile la Fine) - Deve terminare in un Tempo Finito
(No Loop Infinito)
- Risultato
- Si deve produrre un Risultato se si seguono le istruzioni
- Ci possono essere anche risultati intermedi ma quello che conta è quello finale
- Risultato Osservabile
- Ogni istruzione deve produrre, una volta eseguita, un risultato effettivamente riscontrabile.
- Correttezza
- Il Risultato deve essere corretto
(deve essere quello voluto) - Alle prove deve sempre dare il risultato giusto
(1+1 deve fare sempre 2)
- Il Risultato deve essere corretto
- Non Ambiguità
- Le istruzioni devono essere Leggibili
(scritte in un linguaggio comprensibile dall’esecutore) - Devono essere Eseguibili
(non devono essere delle richieste assurde ma fattibili) - Non devono essere Ambigue
- (devono riportare con esattezza tutti i passaggi)
- Es. Girare una manopola in senso antiorario per 15 °
Es. Voltare per la strada a sinistra ad un incrocio)
- Le istruzioni devono essere Leggibili
- Riproducibile
- Il procedimento può essere ripetuto tutte le volte che si vuole ottenendo sempre gli stessi risultati
- Esaustivo
- Per tutti i casi che si possono presentare deve essere prevista una soluzione da seguire
- Indipendenza dai Dati di ingresso
- Non deve dipendere dal Valore dei Dati
(Es. 1+1=2 200+125=325 ecc.) - Non deve dipendere dal Numero di dati
( Es. 1+1=2; 1+1+1=3; ………………. 1+1+1+1+1+…+1=Σi per quanti siano gli uno scritti) - Non deve dipendere dalla Memoria necessaria per memorizzare i dati
- Non deve dipendere dal Valore dei Dati
