ALGORITMI E PROGRAMMAZIONE - …bramante2015.altervista.org/docs/1CLASSE_Algoritmi.pdf · ALGORITMI...

3

Click here to load reader

Transcript of ALGORITMI E PROGRAMMAZIONE - …bramante2015.altervista.org/docs/1CLASSE_Algoritmi.pdf · ALGORITMI...

Page 1: ALGORITMI E PROGRAMMAZIONE - …bramante2015.altervista.org/docs/1CLASSE_Algoritmi.pdf · ALGORITMI E PROGRAMMAZIONE ... Finitezza: Composto da un numero finito di passi elementari.

ALGORITMI E PROGRAMMAZIONE Risolvere un problema significa individuare un procedimento che permetta di arrivare al risultato partendo dai dati. „ Un algoritmo è un metodo per la soluzione di un problema adatto ad essere implementato sotto forma di programma. Un algoritmo si puo` definire come un procedimento che consente di ottenere un risultato atteso eseguendo, in un determinato ordine, un insieme di passi semplici corrispondenti ad azioni scelte solitamente da un insieme finito

ESEMPI DI ALGORITMI Verifica se un numero è pari o dispari

- Prendi il numero - Calcola il resto della divisione intera del numero per 2 - Se il resto è zero Allora il numero è pari - Altrimenti il numero è dispari

PROPRIETA’ ALGORITMI L'algoritmo è caratterizzato da: Finitezza: Composto da un numero finito di passi elementari. Le operazioni sono eseguite un numero finito di volte Non ambiguità: I risultati non variano in funzione della macchina/persona che esegue l'algoritmo (deterministico) Realizzabilità: Deve essere eseguibile con le risorse a disposizione

DEFINIRE UN ALGORITMO Per definire un algoritmo è necessario

- Condurre un'attenta analisi del problema - Individuare i possibili ingressi - Precisare le uscite - Definire completamente e dettagliatamente la sequenza dei passi che portano alla soluzione. E’

conveniente suddividere il problema in piccoli sottoproblemi

RAPPRESENTARE UN ALGORITMO E’ necessario far riferimento a dei formalismi che

- Non introducano ambiguità - Siano universalmente riconosciuti ed interpretati allo stesso modo da un generico esecutore - Permettano di rappresentare in modo efficace un algoritmo - Costituiscano un utile strumento per poi poter passare alla fase di codifica in un linguaggio di

programmazione TEOREMA DI BOHM-JACOPINI In ogni linguaggio di programmazione (o pseudocodice) esistono 3 tipologie di blocchi di istruzioni fondamentali: 1) SEQUENZA: più istruzioni elementari in

Page 2: ALGORITMI E PROGRAMMAZIONE - …bramante2015.altervista.org/docs/1CLASSE_Algoritmi.pdf · ALGORITMI E PROGRAMMAZIONE ... Finitezza: Composto da un numero finito di passi elementari.

sequenza es.: mangio(); dormo(); mangio(); 2) SELEZIONE: si tratta di blocchi di istruzioni che seguono ad una o più condizioni es.: se(semaforo=verde){ attraverso_la_strada(); } altrimenti{ mi_fermo(); } 3) CICLO o ITERAZIONE E' una istruzione o un blocco di istruzioni che viene eseguito n volte. es. per(i=0;i<5;i++){ // per(5 volte) mangio(); dormo(); } mangio, dormo, mangio, dormo, mangio, dormo, mangio, dormo, mangio, dormo ESERCIZIO Scrivere in pseudocodice queste istruzioni: un ragazzo si sveglia, fa colazione, prende l'autobus, scende, arriva al semaforo e attraversa in base al colore, arriva a scuola, studia per le n ore di lezione. sveglia(); colazione(); prende_autobus(); scende(); se(semaforo=verde){ attraversa(); } altrimenti{ ferma(); } arriva_scuola(); per(n ore) { studia();

Page 3: ALGORITMI E PROGRAMMAZIONE - …bramante2015.altervista.org/docs/1CLASSE_Algoritmi.pdf · ALGORITMI E PROGRAMMAZIONE ... Finitezza: Composto da un numero finito di passi elementari.

}