La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Ing. Renato Laurita Algoritmi e Programmazione strutturata Dal problema al programma Definizione di algoritmo I dati e le istruzioni La rappresentazione.

Presentazioni simili


Presentazione sul tema: "Ing. Renato Laurita Algoritmi e Programmazione strutturata Dal problema al programma Definizione di algoritmo I dati e le istruzioni La rappresentazione."— Transcript della presentazione:

1 Ing. Renato Laurita Algoritmi e Programmazione strutturata Dal problema al programma Definizione di algoritmo I dati e le istruzioni La rappresentazione degli algoritmi Algoritmi e il teorema di Böhm-Jacopini Le strutture di sequenza, selezione e iterazione Contatore e totalizzatore Esempio di codifica in VB2005 della struttura di iterazione

2 Ing. Renato Laurita 2 Programma : essendo il computer una macchina non intelligente ma un mero esecutore di ordini impartiti dallesterno, necessita di una serie di istruzioni, scritte in un opportuno codice detto linguaggio di programmazione, che costituiscono appunto il programma. La scrittura o codifica del programma necessita dei seguenti passi logici: -analisi del problema da risolvere, - definire gli obiettivi da raggiungere, - individuare i dati iniziali e finali - descrivere in modo formale i passi necessari per ottenere il risultato voluto.

3 Ing. Renato Laurita 3 Dal problema al programma Esempio: ordinamento dei nomi degli studenti nel registro di classe 1.PROBLEMA REALE: dato un insieme di nomi e cognomi, organizzarli in ordine alfabetico. 2.DATI: cognome e nome degli studenti. 3.TECNICA DI ELABORAZIONE: linsieme delle operazioni necessarie per ordinare un generico insieme di nomi in ordine alfabetico. 4.USO DELLELABORATORE: dopo aver introdotto le operazioni e i dati, codificati in modo opportuno, il computer può eseguire automaticamente lordinamento dei nomi degli studenti.

4 Ing. Renato Laurita 4 Le fasi principali della programmazione Lettura del testo del problema Organizzazione dellalgoritmo risolutivo (tabella di traccia per testare lalgoritmo) Stesura del programma (codifica) Prove di esecuzione del programma (test) Analisi dei dati di input e di output (tabella dei dati)

5 Ing. Renato Laurita 5 Le fasi principali della programmazione Lettura del testo del problema Organizzazione dellalgoritmo risolutivo (tabella di traccia per testare lalgoritmo) Stesura del programma (codifica) Prove di esecuzione del programma (test) Analisi dei dati di input e di output (tabella dei dati)

6 Ing. Renato Laurita 6 Cosè un algoritmo? Un algoritmo è una sequenza di passi che devono essere eseguiti secondo un ordine prefissato per arrivare al risultato partendo da dati noti. Un algoritmo deve fornire la soluzione di un problema indipendentemente dal linguaggio di programmazione che si utilizzerà per scrivere il programma finale. Il termine algoritmo si fa derivare dal nome del matematico arabo Al- Khuwarizmi, vissuto nel IX secolo, ed è quindi un concetto che è sempre stato utilizzato nella matematica come sinonimo di metodo per la risoluzione di un problema generale. Esempi di algoritmi che applichiamo per la soluzione di problemi di vita quotidiana sono: le istruzioni di uso di un elettrodomestico la sequenza di passi da seguire per compilare un modulo la realizzazione di una ricetta di cucina ecc.

7 Ing. Renato Laurita 7 Esempio di algoritmo Per descrivere in modo corretto un algoritmo è importante aver chiaro qual è lobiettivo da raggiungere, ossia i risultati da ottenere. Esempio per ottenere un buon piatto di pasta bisogna aver chiare tutte le informazioni di partenza: il tipo di pasta (fa variare il tempo di cottura), il numero di persone che dovranno mangiare la pasta, per determinare la quantità di pasta e, di conseguenza, la quantità di acqua e di sale. La risoluzione del problema è data dai seguenti passi: 1. far bollire la quantità di acqua stabilita 2. aggiungere la quantità di sale stabilita 3. mettere nellacqua bollente la quantità di pasta stabilita 4. far cuocere la pasta per i minuti stabiliti

8 Ing. Renato Laurita 8 Un algoritmo deve essere.... FINITO: un algoritmo deve essere composto da un numero finito di passi e deve presentare un punto di inizio e uno di fine, raggiunto il quale si interrompe lesecuzione delle operazioni. DETERMINISTICO: lalgoritmo a fronte degli stessi dati di input deve produrre gli stessi risultati (es. listruzione moltiplica 2x5 produce sempre il medesimo risultato, mentre listruzione tira una freccia contro il bersaglio può avere risultati diversi anche se è rivolta al medesimo arciere munito del suo solito arco). NON AMBIGUO: i passi che compongono lalgoritmo devono essere interpretati in modo univoco dallesecutore, senza lasciar dubbi (es. se il numero è abbastanza grande allora dividilo per 3 istruzione ambigua!) REALIZZABILE: è necessario che esista un esecutore in grado di eseguire ogni passo dellalgoritmo ed in un tempo finito (es. calcola tutte le cifre decimali di π non avrà mai fine in quanto tali cifre sono infinite).

9 Ing. Renato Laurita 9 Elementi fondamentali di un algoritmo 1) dati iniziali e finali: sono gli elementi che vengono elaborati dallalgoritmo (dati iniziali o di input) e i risultati prodotti dallalgoritmo (dati finali o di output). Es. nellalgoritmo delladdizione, i dati iniziali sono gli addendi, il dato finale è la somma. 2) sequenza di azioni (istruzioni o passi elementari): unazione è unistruzione (operazione elementare) che deve essere eseguita sui dati in ingresso per ottenere i dati in uscita. 3) esecutore: è il soggetto che compie le azioni, cioè legge le istruzioni, le interpreta e le esegue. Le istruzioni quindi devono essere scritte in modo che lesecutore possa comprenderle ed eseguirle correttamente. ALGORITMO + ESECUTORE DATI DI INPUT DATI DI OUTPUT

10 Ing. Renato Laurita 10 I DATI Dati di INPUT: sono quelli che devono essere forniti dallesterno per poter risolvere il problema. Dati di OUTPUT: sono quelli che vengono comunicati allesterno come risultato della soluzione del problema. Dati INTERNI o di LAVORO: sono i dati utilizzati nella trasformazione compiuta dallalgoritmo ma trasparenti allutente (non sono forniti in output). Dati NUMERICI: dati che contengono numeri e sui quali si possono effettuare operazioni aritmetiche. Possono essere ulteriormente suddivisi in: INTERI: dati numerici che non prevedono cifre decimali REALI: dati numerici che prevedono cifre decimali Dati ALFANUMERICI (o STRINGHE): sono i dati che contengono caratteri alfabetici (A,B,...), caratteri speciali ($,%,&,...) e cifre (0,1,2,...) sulle quali non sono possibili operazioni aritmetiche (ad esempio il codice fiscale).


Scaricare ppt "Ing. Renato Laurita Algoritmi e Programmazione strutturata Dal problema al programma Definizione di algoritmo I dati e le istruzioni La rappresentazione."

Presentazioni simili


Annunci Google