Sei sulla pagina 1di 2
 
Correttezza di un algoritmo
Introduzione
L’obiettivo della dispensa è presentare una metodologia mediante la quale verificare la correttezza di un algoritmo. Un algoritmo è corretto quando fa ciò che noi ci aspettiamo, cioè se a partire dai dati iniziali consente di ottenere i risultati attesi. Quando ci accorgiamo che i risultati sono diversi da quelli desiderati (ammesso che riusciamo ad accorgercene) occorre andare alla ricerca dell’errore e correggerlo.
Simulazione di un algoritmo
Utilizzeremo a tal scopo una tabella con tante colonne quante sono i dati più una per l’output. Prima di iniziare la simulazione occorre determinare un insieme di valori di input, che siano significativi ai fini della verifica di correttezza, e stabilire quali debbano essere i risultati dopo l’esecuzione.Considerando il precedente esempio dell’addizione di due numeri: possiamo fissare come valori di input i due numeri 10 e 5 e attenderci come risultato il valore 15. Se il risultato al termine della simulazione è diverso da 15, significa che è presente un errore nell’algoritmo. Prima di cominciare dobbiamo anche numerare progressivamente i blocchi del diagramma di flusso che rappresenta graficamente l’algoritmo.
STEP 1
Numeriamo ogni blocco del diagramma di flusso
Startinput (num1)input (num2)somma= num1+num2output (somma)End1234
Autore: Cinzia BocchiUltimo aggiornamento: 08/08/11
 1
 
STEP 2
Creiamo una tabella contenente tante colonne quanti sono i dati più una per l’output.num1num2sommaoutput
STEP 3
Per ogni azione che andiamo a eseguire, creiamo una riga nella precedente tabella e inseriamo i valori dei dati nella cella opportuna.Osservazione importante!Vi invito ad osservare che le azioni presenti nel diagramma di flusso dell’esempio sono svolte in sequenza, una dopo l’altra. In tal caso si dice che l’algoritmo ha una
struttura sequenziale
. Vedremo in seguito che non sempre sarà così.Iniziamo la simulazione.num1num2sommaoutputazione 110Viene acquisito in input il primo numero (10) e assegnato a num1.num1num2sommaoutputazione 110azione 25Viene acquisito in input il secondo numero (5) e assegnato a num2.num1num2sommaoutputazione 110azione 25azione 315Con l’azione 3 si prende il valore di num1 (10), lo si aggiunge al valore di num2 (5) per porre poi il risultato (15) in somma.num1num2sommaoutputazione 110azione 25azione 315output15L’azione 4 produce in output il valore di somma, cioè 15.Il risultato ottenuto è uguale a quello che ci aspettavamo, quindi l’algoritmo è corretto.  ______________________________________________________________
Quest'opera è stata rilasciata con licenza Creative Commons Attribution-ShareAlike 3.0 Unported. Per leggere una copia della licenza visita il sito web http://creativecommons.org/licenses/by-sa/3.0/ o spedisci una lettera a Creative Commons, 171 Second Street, Suite 300, San Francisco, California, 94105, USA.
Autore: Cinzia BocchiUltimo aggiornamento: 08/08/11
 2

Premia la tua curiosità

Tutto ciò che desideri leggere.
Sempre. Ovunque. Su qualsiasi dispositivo.
Nessun impegno. Annulla in qualsiasi momento.
576648e32a3d8b82ca71961b7a986505