La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Da Problema a Programmazione Quale e il legame tra i linguaggi di programmazione e i programmi (o software) ? problema programmaalgoritmo Linguaggi di.

Presentazioni simili


Presentazione sul tema: "Da Problema a Programmazione Quale e il legame tra i linguaggi di programmazione e i programmi (o software) ? problema programmaalgoritmo Linguaggi di."— Transcript della presentazione:

1 Da Problema a Programmazione Quale e il legame tra i linguaggi di programmazione e i programmi (o software) ? problema programmaalgoritmo Linguaggi di Programmazione soluzione

2 Rapporto tra i tre concetti Algoritmo sequenza di passi che portano alla realizzazione di un compito. Programma sequenza di istruzioni scritte in un opportuno linguaggio comprensibile al calcolatore Linguaggio di Programmazione permette di codificare un algoritmo per renderlo comprensibile al calcolatore.

3 Algoritmo La definizione più o meno formale del processo per la soluzione di un problema. Esempi di algoritmi presenti nella vita quotidiana: Montare mobili Ricercare un numero telefonico Riempire una valigia

4 Algoritmo::Origini Euclide (400 BC): per primo ha definito un algoritmo per determinare il massimo comun divisore tra due numeri interi positivi Questo termine deriva dal nome del matematico persiano Abu Ja'far Mohammed ibn Mâsâ al-Khowârizmî (825 d.C.). Esercitò la professione nella città di Baghdad, dove insegnava, e introdusse nel mondo arabo i numeri indiani. La sua opera "Il calcolo degli indiani" venne successivamente tradotta in latino da un monaco europeo, con il titolo Liber algarismi - (Il libro di al-Khwarizmi).

5 Algoritmo::Un esempio Operazioni per svolgere la somma di due numeri mediante il pallottoliere: 1) Si sposti una pallina dalla sinistra alla destra della prima riga e se ne sposti una dalla destra alla sinistra della terza riga 2) Si ripeta loperazione precedente finché non si è svuotata la parte sinistra della prima riga 3) Si sposti una pallina dalla sinistra alla destra della seconda riga e se ne sposti una dalla destra alla sinistra della terza riga 4) Si ripeta loperazione precedente finché non si è svuotata la parte sinistra della seconda riga. 5) Il numero di palline che si trova alla sinistra della terza riga al termine delle operazioni è il risultato cercato

6 Algoritmo:: soluzione automatica Il precedente algoritmo consiste nellesecuzione ripetuta di operazioni elementari: - selezione di una riga - spostamento di una pallina - controllo se una riga sia vuota Una volta costruito un esecutore meccanico delle operazioni elementari potremo utilizzarlo per risolvere qualsiasi problema la cui soluzione possa essere descritta mediante un algoritmo che faccia uso solo di tali operazioni

7 Algoritmo::Costruzione Costruire un algoritmo equivale a: -esaminare una specifica realtà (il problema) -costruirne unastrazione -immaginare una rappresentazione più o meno formale di tale astrazione -scrivere un insieme di istruzioni che opportunamente eseguite risolvano il problema

8 Algoritmo:: Rappresentazione La pseudocodifica in un linguaggio il più vicino possibile a quello naturale. Esempio di pseudocodifica Somma = 0; Contatore = 0; Leggi( valore_utente ) Finché valore_utente è vuoto Ripeti Somma = ( Somma + valore_utente ) ….

9 Algoritmo:: Rappresentazione Schema a blocchi (Flow Chart)

10 Algoritmo::Istruzioni Ricorrenti Istruzioni ricorrenti nella formulazione degli algoritmi sono: 1.Istr. Sequenziali: tutte le azioni che devono essere in successione 2.Istr. Condizionali: gestiscono possibilità di scelta fra procedimenti alternativi (se allora altrimenti) 3.Istr. Ripetitive: quando unazione o un gruppo di azioni deve essere ripetuto un numero prestabilito di volte o finché si verifichi un evento (ripeti per n volte, ripeti finché)

11

12

13

14 Algoritmo:: Requisiti Deve terminare in un numero finito di passi Deve essere deterministico: ununica soluzione Deve essere accurato: risultato esatto con errore minimo Deve essere efficiente: consumare relativamente poco in tempo e spazio

15 Programma 1.Definiti gli algoritmi usati per risolvere il mio problema. 2.Definito il linguaggio di programmazione da usare. Posso finalmente scrivere il mio programma.

16 Programma::Requisiti I La codifica di un algoritmo nel linguaggio prescelto deve rispettare alcuni vincoli affinché il programma codificato rispetti alcuni requisiti essenziali: Corretto: deve risolvere effettivamente il problema per cui è stato creato Affidabile: deve mantenere la sua correttezza nel tempo Modificabile: deve essere facile modificarlo cosi da poter adeguarsi a nuove esigenze dellutente o dei cambiamenti hw.

17 Programma::Requisiti II Comprensibile e leggibile: i non autori devono poterlo comprendere Efficiente: deve ottimizzare le risorse di tempo desecuzione e di memoria impegnata Portabile: deve essere eseguibile su diversi sistemi Tutti questi requisiti fanno di un programma un buon programma.

18 Linguaggi di programmazione Un linguaggio di programmazione è un linguaggio definito da una sintassi precisa e la cui semantica è in ultima analisi definita da regole di traduzione in linguaggio macchina I linguaggi di programmazione hanno – sintassi molto diverse – sono semanticamente equivalenti – hanno pragmatiche molto diverse


Scaricare ppt "Da Problema a Programmazione Quale e il legame tra i linguaggi di programmazione e i programmi (o software) ? problema programmaalgoritmo Linguaggi di."

Presentazioni simili


Annunci Google