MODULO 1 Punto 1.0 del Syllabus 5.0 Fondamenti Prof.ssa Francesca Lascialfari MODULO 1 – punto 1.0 del Syllabus 5.0 Fondamenti 1.0.1 Algoritmi Un computer è un aggregato di circuiti elettrici, elettronici e meccanici. Un computer è in grado esclusivamente di eseguire un ordine, e le istruzioni devono essere date con chiarezza, in maniera non ambigua. Occorre rappresentare in forma procedurale tutte le operazioni che il computer dovrà eseguire, permettergli di identificare i dati da elaborare e di comprendere il linguaggio in cui vengono impartiti i comandi. MODULO 1 – punto 1.0 del Syllabus 5.0 Fondamenti 1.0.1 Algoritmi L'attività che il computer dovrà compiere va tradotta passo dopo passo in termini formali: Dati Incognite Percorsi da seguire Alternative per ottenere infine la soluzione. MODULO 1 – punto 1.0 del Syllabus 5.0 Fondamenti 1.0.1 Algoritmi Il termine algoritmo deriva dal nome di un matematico arabo. Nel contesto informatico ALGORITMO= sequenza ordinata e definita di azioni elementari, non ambigue, riferite ad un determinato insieme di dati, che producono un risultato finale L'algoritmo ha un punto di inizio e una fine. MODULO 1 – punto 1.0 del Syllabus 5.0 Fondamenti 1.0.1 Algoritmi Un algoritmo deve essere: COMPLETO: prevedere tutte le possibili evenienze e fornire le soluzioni in ciascun caso RIPRODUCIBILE: fornire la medesima soluzione a partire dagli stessi dati iniziali, sotto le stesse condizioni DETERMINISTICO: la soluzione non cambia se cambia l'esecutore MODULO 1 – punto 1.0 del Syllabus 5.0 Fondamenti 1.0.1 Algoritmi Le azioni che compongono un algoritmo devono essere rappresentate in un linguaggio di programmazione, mediante il quale il computer possa comprendere le istruzioni impartite dall'uomo (programmatore) ed eseguirle. I linguaggi di programmazione sono composti da istruzioni elementari e permettono al computer di eseguire l'algoritmo. MODULO 1 – punto 1.0 del Syllabus 5.0 Fondamenti 1.0.1 Algoritmi Molte azioni della vita quotidiana sono un susseguirsi di algoritmi. Esempio: eseguire una ricetta di cucina. 1) aprire il libro delle ricette 2) leggere gli ingredienti necessari 3) reperire e pesare gli ingredienti 4) eseguire la preparazione 5) accendere il forno o il fornello portandolo alla temperatura adatta alla ricetta 6) cuocere la pietanza. MODULO 1 – punto 1.0 del Syllabus 5.0 Fondamenti 1.0.1 Algoritmi Altri esempi di algoritmi: •Preparazione di una tazza di tè •Ricerca di tutti i numeri primi compresi tra 2 e n. •Raggiungere un ufficio particolare del comune di residenza. MODULO 1 – punto 1.0 del Syllabus 5.0 Fondamenti 1.0.1 Algoritmi Gli algoritmi possono essere rappresentati mediante diagrammi di flusso (o diagrammi a blocchi, o flow-chart), disegni che utilizzano particolari simboli (ognuno dei quali identifica una determinata azione). I diagrammi di flusso rappresentano graficamente un ragionamento rendendone immediata la comprensione del percorso logico. MODULO 1 – punto 1.0 del Syllabus 5.0 Fondamenti 1.0.1 Algoritmi I simboli del diagramma di flusso sono: Punto di partenza o di fine: azione che avvia o conclude un processo. Normalmente contiene la parola INIZIO o FINE MODULO 1 – punto 1.0 del Syllabus 5.0 Fondamenti 1.0.1 Algoritmi Leggi/Scrivi : funzione emissione dei dati. di inserimento o MODULO 1 – punto 1.0 del Syllabus 5.0 Fondamenti 1.0.1 Algoritmi Elaborazione: rappresenta il comando (istruzione) da eseguire MODULO 1 – punto 1.0 del Syllabus 5.0 Fondamenti 1.0.1 Algoritmi Test: rappresenta la scelta tra due possibili percorsi all'avverarsi o meno di una condizione MODULO 1 – punto 1.0 del Syllabus 5.0 Fondamenti 1.0.1 Algoritmi Connessione: rappresenta il punto di inserimento nel grafico (generalmente contiene una lettera o un numero) MODULO 1 – punto 1.0 del Syllabus 5.0 Fondamenti 1.0.1 Algoritmi Linea di flusso: indica la direzione del percorso di flusso. MODULO 1 – punto 1.0 del Syllabus 5.0 Fondamenti 1.0.1 Algoritmi - Diagramma di flusso AND Traduciamo in un diagramma l'affermazione: Esco se è bel tempo ed è caldo di flusso MODULO 1 – punto 1.0 del Syllabus 5.0 Fondamenti 1.0.1 Algoritmi – Diagramma di flusso OR Traduciamo in un diagramma di flusso l'affermazione: Esco se è bel tempo o se è caldo.