Da Problema a Programmazione

Slides:



Advertisements
Presentazioni simili
Introduzione all’informatica
Advertisements

Software di base: Linguaggi di Programmazione
© 2007 SEI-Società Editrice Internazionale, Apogeo Unità E1 Dallanalisi del problema alla definizione dellalgoritmo.
Linguaggi algoritmici
Costruzione di un semplice programma che opererà su uno smartphone
Evoluzione dei linguaggi di programmazione
I linguaggi di programmazione
ALGORITMI Un algoritmo (detto anche procedura, prescrizione, processo, routine, metodo) è un insieme di regole (dette anche direttive o istruzioni) che,
Algoritmi e Programmazione
Informatica Generale Susanna Pelagatti
3. Programmazione strutturata (testo di riferimento: Bellini-Guidi)
3. Programmazione strutturata (testo di riferimento: Bellini-Guidi)
Corso di Laurea in Biotecnologie corso di Informatica Paolo Mereghetti DISCo – Dipartimento di Informatica, Sistemistica e Comunicazione.
Fondamenti di Informatica
Il Software: Obiettivi Programmare direttamente la macchina hardware è molto difficile: lutente dovrebbe conoscere lorganizzazione fisica del computer.
Iterazione enumerativa (for)
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Algoritmi e basi del C Marco D. Santambrogio – Ver. aggiornata al 9 Agosto 2013.
FONDAMENTI DI INFORMATICA III A3A1-1 Realtà e Modello MODELLI E METODOLOGIE PER LA PROGETTAZIONE LOGICA DI SISTEMI INFORMATIVI PER LUFFICIO Argomento 3.
Corso di Laurea in Biotecnologie Informatica (Programmazione)
Corso di Informatica (Programmazione)
Introduzione alla programmazione l
DAL PROBLEMA ALL'ALGORITMO Problemi e Programmi Paolo Amico
Algoritmi.
Gli algoritmi AA 2003/04 © Alberti Programmazione 2. Algoritmi.
Unità Didattica 2 I Linguaggi di Programmazione
Strutture di controllo in C -- Flow Chart --
Fondamenti di Informatica Algoritmi
LINGUAGGI DI PROGRAMMAZIONE
Elementi di Informatica
Elementi di Informatica
Esercizio Questo esercizio riguarda i MODELLI di COMUNICAZIONE ed è stato proposto dal Prof. Mussio, docente di Fondamenti di comunicazione digitale, durante.
Dall’algoritmo al programma.
ELEMENTI DI PROGRAMMAZIONE
Algoritmi e Programmazione strutturata
INFORMATICA MATTEO CRISTANI.
PROGRAMMAZIONE: linguaggi
Lezione 1 Linguaggi di programmazione – Algoritmi –Istruzioni
TURBOPASCAL …. ripassiamo - prof. V. Riboldi -.
Lezione 6 Strutture di controllo Il condizionale
Informatica Introduzione.
CONCETTI DI BASE 1.0 FONDAMENTI 1.1 HARDWARE 1.2 SOFTWARE 1.3 RETI
Linguaggi per COMUNICARE
Programma di Informatica Classi Prime
Ripasso : Algoritmi.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Algoritmi e basi del C Marco D. Santambrogio – Ver. aggiornata al 13 Marzo 2014.
IO E LA MATEMATICA PROCEDURALE
TURBOPASCAL …. ripassiamo - prof. V. Riboldi -.
Dal problema all’ algoritmo
Rappresentazione degli algoritmi
Rappresentazione dell’informazione nel calcolatore.
GLI ALGORITMI VISIBILE SUL BLOG INFORMATICA ANNO SCOLASTICO 2013 / 2014 GABRIELE SCARICA 2°T.
Il software Componente del computer costituita dai: –programmi di base per la gestione del sistema –programmi applicativi per l’uso del sistema Queste.
Algoritmi.
Strategie di progetto Si possono utilizzare le strategie tipiche dello sviluppo di un processo di ingegnerizzazione (es. ingegneria del software). Strategie.
Rappresentazione dell'informazione
L’ELABORATORE ELETTRONICO uno strumento in grado di eseguire insiemi di azioni (“mosse”) elementari le azioni vengono eseguite su oggetti (dati) per produrre.
Algoritmi e Programmazione (in C) Stefano Cagnoni e Monica Mordonini
Diagrammi a blocchi.
Informatica e Informatica di Base
Problemi, algoritmi e programmazione
Il computer ragiona? Problemi e algoritmi. Paola Pianegonda2 Cos’è un problema?  Problema è qualsiasi situazione della quale non conosciamo la soluzione.
Programmazione dei Calcolatori Elettronici
Dal problema al programma
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Algoritmi e basi del C Marco D. Santambrogio – Ver. aggiornata al 24 Agosto 2015.
Unità di apprendimento 6 Dal problema al programma.
Dal problema al programma – ciclo di sviluppo del software La scrittura del programma è solo una delle fasi del processo di sviluppo di un'applicazione.
Istruzioni e algoritmi. Istruzioni Operative I passi elementari che compongono l’algoritmo sono le istruzioni. Distinguiamo: Istruzioni di input Istruzioni.
Unità di apprendimento 6
1 Informatica di Base Facoltà di Lingue e Letterature Straniere Corso di laurea in Relazioni Pubbliche.
ALGORITMI, LINGUAGGI E PROGRAMMI Facoltà di Lingue e Letterature Straniere Corso di laurea in Relazioni Pubbliche.
Transcript della presentazione:

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

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.

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

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).

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 l’operazione 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 l’operazione 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

Algoritmo:: soluzione automatica Il precedente algoritmo consiste nell’esecuzione 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

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

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 ) ….

Algoritmo:: Rappresentazione Schema a blocchi (Flow Chart)

Algoritmo::Istruzioni Ricorrenti Istruzioni ricorrenti nella formulazione degli algoritmi sono: Istr. Sequenziali: tutte le azioni che devono essere in successione Istr. Condizionali: gestiscono possibilità di scelta fra procedimenti alternativi (se allora altrimenti) Istr. Ripetitive: quando un’azione 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é)

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

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

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 dell’utente o dei cambiamenti hw.

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

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