Algoritmi.
Le prime nozioni di base sugli algoritmi: proprietà e modelli. (7 Pag - Formato Word) (0 pagine formato doc)
ALGORITMI ALGORITMI Un algoritmo è la descrizione della soluzione di un tipo (o classe) di problemi come sequenza di azioni elementari (pag.
72/89), in pratica la serie di passi fondamentali che servono per risolvere problemi (es. in matematica la formula risolutiva dell'equazione di 2° è un algoritmo). Per rendere la risoluzione valida per tutti i problemi che hanno le stesse caratteristiche, l'algoritmo non impiega direttamente i valori del problema, ma dei nomi simbolici che corrispondono a dei valori che possono variare durante l'esecuzione. Dal momento che il computer ha bisogno di istruzioni dall'esterno per ogni operazione che deve eseguire, quando forniamo il software alla macchina, forniamo in realtà tutta una serie di algoritmi elementari (tradotti in linguaggio di programmazione) che concorrono alla risoluzione dei problemi specifici e permettono il funzionamento del computer. Si chiama risolutore l'entità (uomo o macchina che si occupa di analizzare e definire le azioni da eseguire per giungere alla soluzione. l'analisi del problema fatta dal risolutore per giungerne alla risoluzione attraverso l'algoritmo richiede i seguenti passi: interpretare la traccia del problema e localizzare gli obbiettivi da raggiungere; individuare i dati iniziali, i dati finali e un tipo di rappresentazione della realtà; descrivere il procedimento risolutivo individuando le azioni che devono essere compiute, utilizzando il modello per elaborare i dati iniziali, sino a raggiungere i dati finali. La risoluzione di un problema complesso richiede, inoltre, una precisa e completa conoscenza del quesito di partenza: deve essere assolutamente chiaro l'obbiettivo da raggiungere per poter fare un'analisi del problema e trovarne la soluzione. Il lavoro passa successivamente ad un esecutore che: esegue in ordine le operazioni descritte dal risolutore, fino a pervenire ai risultati finali; verifica che i risultati siano quelli previsti: se l'obiettivo non è stato raggiunto, il risolutore dovrà ripetere le tre fasi viste in precedenza e riproporre il suo lavoro all'esecutore. LE PROPRIETÀ DEGLI ALGORITMI Un algoritmo di risoluzione di un problema deve essere: finito: il numero di istruzioni che lo compongono e il numero di volte che viene eseguita ogni istruzione deve essere finito; eseguibile: la sua esecuzione da parte dell'esecutore deve essere possibile con i mezzi tecnici a sua disposizione; deterministico: in ogni istante deve essere definita la sequenza di istruzioni che seguiranno quella in esecuzioni, in altre parole a parità di condizioni l'ordine di esecuzione delle istruzioni deve restare invariato; non ambiguo: i comandi dati all'esecutore non devono dar alcun adito a interpretazioni diverse che dipendono dall'esecutore, solo scrivendo delle istruzioni chiare ed elementari è possibile raggiungere il risultato corretto; generale: ogni esecutore può sfruttare lo stesso algoritmo per risolvere tutti i problemi della stessa classe. Gli algoritmi possono essere