1 Laboratorio di Introduzione alla Programmazione §II MODULO §3 crediti §Esame e voto unico (su 6 crediti totali)

Slides:



Advertisements
Presentazioni simili
Progetto di: Jody Padulano Giuliano Polverari
Advertisements

1 Astrazioni sui dati : Specifica ed Implementazione di Tipi di Dato Astratti in Java.
Liste di Interi Esercitazione. Liste Concatenate Tipo di dato utile per memorizzare sequenze di elementi di dimensioni variabile Definizione tipicamente.
MultiSet, Liste Ordinate
Esercitazione Frame. Argomento Realizzazione di un tipo di dato astratto Usare le eccezioni per segnalare situazioni particolari Invariante e funzione.
LIP: 19 Aprile Contenuto Soluzione Compitino Tipo di dato MultiSet, estensione con sottoclasse.
Liste Ordinate 3 Maggio Ultima Lezione Abbiamo visto i tipi di dato astratti IntList e StringList Realizzano liste di interi e di stringhe Realizzati.
LIP: 1 Marzo 2005 Classe Object e Vettori. Partiamo da Lesercizio dellultima esercitazione realizzato tramite array Vedremo come si puo fare in modo piu.
1 SPEGNETE GRAZIE. 2 MATEMATICA (A-L) a.a Numero di crediti :8 Docente:Prof. Gianni Ricci Periodo di svolgimento del corso: primo semestre.
Facoltà di Psicologia a.a.2011/2012 A cura di Tiziana Fusaro e Lucia Marchesi Guida pratica per gli studenti.
Alberi binari di ricerca
Valutazione del corso Schede da riempire in modo anonimo ANNO ACCADEMICO 2009/2010.
Metodi e tecniche di analisi dei dati con Laboratorio (4+4 crediti) Specialistica in Psicologia dei Processi Cognitivi (A31) I anno Prof.ssa Francesca.
Metodologia e tecniche della ricerca in psicologia clinica con Laboratorio (6+2 crediti) Specialistica in Psicologia clinica (A30) I anno Prof.ssa Francesca.
Introduzione al corso di Economia ed Organizzazione aziendale
Informatica A (informatica grafica) Allievi di Ingegneria Civile, L-Z
Analisi e Contabilita’ dei Costi
Valutazione del corso Schede da riempire in modo anonimo.
Gestione on-line questionari di valutazione della didattica.
06/10/2009Basi di dati , presentazione1 Basi di dati (ordinamento DM 509/1999) Basi di dati I (ordinamento DM 270/2004) DocentePaolo.
04/10/2010Basi di dati , presentazione1 Basi di dati I (ordinamento DM 270/2004) già Basi di dati (ordinamento DM 509/1999) DocentePaolo.
Access: Query semplici
Obiettivi del corso Programmazione Corso di laurea in Informatica.
MANUALE DI PEDAGOGIA GENERALE
ARGONEXT Accesso Docente
Lezioni di Ricerca Operativa Corso di Laurea in Informatica
ORGANIZZAZIONE RELATIVA ALLA VERIFICA DEI DEBITI FORMATIVI 3^ FASE.
1 Astrazioni sui dati : Ragionare sui Tipi di Dato Astratti dispense prof. G. Levi.
Docente: Prof. Lorenzo Mezzalira Esercitatore: Ing. Stefano Giavardi
Lazienda SC Informatica si occupa della progettazione e della realizzazione di sistemi informatici dedicati alle farmacie. Fornisce inoltre un servizio.
Corso di Fisica Generale II (L-Z) 1mo modulo ing. Civile - ambientale
Sessione live Testing. Esercizio Quesito 1 Soluzione 1.
Università degli Studi dell’Aquila
1 Laboratorio di Introduzione alla Programmazione-Informazioni §II MODULO §3 crediti §Esame e voto unico (su 6 crediti totali)
Algoritmi e Strutture Dati Introduzione agli algoritmi
Eprogram informatica V anno. ASP.NET Introduzione ASP.NET (Active Server Page) è il linguaggio che, sfruttando la tecnologia.NET, permette di: -scrivere.
Esercitazione su Vector. Permette di definire collezioni di dati generiche, che sono in grado di memorizzare elementi di ogni sottotipo di Object Definito.
Modulo didattico “Disegno Tecnico Navale”
Ripasso su Java. Introduzione Per risolvere problemi complessi, i linguaggi di programmazione forniscono costrutti per realizzare nuove funzioni che trasformino.
Liste di Interi Esercitazione. IntList Lista di interi Una lista è una disposizione ordinata di elementi ( non in modo crescente-descrescente, ma per.
1 Laboratorio di Introduzione alla Programmazione §II MODULO §3 crediti §Esame e voto unico (su 6 crediti totali)
Valutazione del corso Schede Modalita`. Compitini intermedi Tre compiti intermedi a risposta multipla 10 domande con 5 risposte di cui 1 sola giusta 4.
1 Laboratorio di Introduzione alla Programmazione-Informazioni §II MODULO §3 crediti §Esame e voto unico (su 6 crediti totali)
Valutazione del corso Schede Modalita`. Compitini intermedi Tre compiti intermedi a risposta multipla 10 domande con 5 risposte di cui 1 sola giusta 4.
Sommario Oggetti immutabili e non Tipi Primitivi: String, Arrays.
1 Laboratorio di Introduzione alla Programmazione §II MODULO §3 crediti §Esame e voto unico (su 6 crediti totali)
1 Metodologie di Programmazione §tecniche per la programmazione orientata ad oggetti §esemplificate utilizzando il linguaggio Java §testo di riferimento.
LIP: 11 Maggio 2007 Classi Astratte. Cos’e’ una Classe Astratta una classe astratta e’ un particolare tipo di classe permette di fornire una implementazione.
Esercitazione del 9 marzo 2007 Ereditarieta’. Richiami Definire sottoclassi (ereditarieta’) Overriding Specificatori di accesso (private, protected) Principio.
1 Metodologie di Programmazione §tecniche per la programmazione orientata ad oggetti §esemplificate utilizzando il linguaggio Java §testo di riferimento.
1 Laboratorio di Introduzione alla Programmazione §II MODULO §3 crediti §Esame e voto unico (6 crediti totali)
LIP: 4 Maggio 2007 Interfacce. Cos’e’ una Interfaccia una interfaccia e’ un particolare tipo di classe contiene solo la specifica non ha implementazione.
LIP: 15 Marzo 2005 Vettori di interi. Esercizio proposto Definire una classe VectorInt i cui oggetti sono vettori omogenei di interi ordinati in modo.
Prof. Romano Boni ECONOMIA AZIENDALE AA Note Organizzative.
GUIDA ALL’UTILIZZO DEL
Psicometria A – I semestre
Prof. Romano Boni ECONOMIA AZIENDALE AA Note Organizzative.
Everywhere Takeaway Progetto di SSCSWeb A.A. 2011/2012 V. Costamagna, F. Dotta, F. Barbano, L. Violanti, Oltikuka.
Manuale Utente – i-Sisen Questionario del Gas Naturale
Prof. Romano Boni ECONOMIA AZIENDALE AA Note Organizzative.
Corso di Laurea in Scienze dell’Educazione Docimologia
PRESENTAZIONE CORSO: Modulo “Analisi Controllo Qualita’” CI “ENOLOGIA GENERALE Docente: Marcello Mascini Il Docente e' disponibile.
Cos’è l’ECDL ? La European Computer Driving Licence (ECDL) è un certificato, riconosciuto a livello internazionale, attestante che chi lo possiede ha l'insieme.
TESI ORD. 270/04 (Regolamento Didattico del Corso, CdF 19 aprile 2012) -un’attività formativa a cui sono assegnati 15 CFU -che si svolge in un periodo.
TESI ORD. 270/04 (Regolamento Didattico del Corso, CdF 19 aprile 2012) -un’attività formativa a cui sono assegnati 15 CFU -che si svolge in un periodo.
Qui si inserisce il titolo ed eventuale sottotitolo della presentazione ISCRIZIONI CENTRO ESTIVO COMUNALE 2016 SCUOLE PRIMARIE - SECONDARIE I GRADO SONO.
Lezione Introduttiva Presentazione del Corso Corso di Economia ed Organizzazione Aziendale 2 AA Prof. Cristina Ponsiglione
Lezioni di Ricerca Operativa Corso di Laurea in Informatica
Psicologia della Comunicazione Ramona Bongelli
Piano Lauree Scientifiche per Fisica. Piano Lauree Scientifiche Attività previste per Fisica Laboratori orientamento (“PLS” e versioni brevi”)
Transcript della presentazione:

1 Laboratorio di Introduzione alla Programmazione §II MODULO §3 crediti §Esame e voto unico (su 6 crediti totali)

2 Modalita’ d’Esame §esame = progetto finale + orale l prove di verifica intermedia l non *necessarie*, verranno comunque considerate come parte fondamentale per il voto finale l analogamente alla valutazione del rendimento dimostrato durante le esercizitazioni in Laboratorio

3 Chi puo’ presentare il progetto §Gli studenti che hanno *frequentato* §Sulla pagina web la lista degli studenti che hanno frequentato l’80 % delle lezioni §Gli studenti lavoratori e/o gli studenti degli anni precedenti (anche se non hanno frequentato)

4 Modalita’ per lo svolgimento del progetto §Gli studenti degli anni precedenti (devono rivolgersi alla Prof. Occhiuto) §Gli studenti che hanno frequentato nel devono svolgere il progetto che verra’ presentato oggi

5 Modalita’ per lo svolgimento del progetto §Come deve essere svolto? Dipende dalla valutazione ottenuta durante l’anno §Gli studenti che hanno ottenuto una valutazione sufficiente (vedi pagina WEB) possono svolgere il progetto in gruppi (di due, tre persone al massimo) §Tutti gli altri devono svolgere il progetto individualmente

6 Modalita’ per i gruppi §Il progetto deve essere consegnato una sola volta §Al momento della consegna deve essere comunicato al docente chi sono gli appartenenti al gruppo §La prova orale deve essere sostenuta individualmente da ogni partecipante al gruppo §Puo’ essere svolta in momenti diversi

7 Quando si puo’ consegnare il progetto? § Ad ogni sessione d’esame §Sessione estiva: entro 13 luglio 2007 §Sessione autunnale: da fissare (settembre) §Orali: da concordare volta per volta §Tutte le informazioni sono disponibili sulla pagina web del corso

8 Validita’ del progetto § Fino a settembre §Sessione invernale: nuovo progetto da concordare volta per volta (richiedendolo al docente)

9 Inoltre §Devono essere spediti per tutti i files classe.java in un archivio.zip o.gz indicando il nome (i nomi) dei partecipanti

10 Cosa deve contenere? §Programma “Funzionante” §Una relazione che spieghi le principali scelte di progetto

11 Problema §Vogliamo progettare un tipo di dato astratto Magazzino Un oggetto di tipo Magazzino memorizza le seguenti informazioni -la data corrente -la lista della merce disponibile nel magazzino -la dimensione del magazzino

12 Data §Vogliamo che memorizzi giorno, mese, anno 1<=giorno<=30 1<=mese <= <=anno

13 Merce §Vogliamo che memorizzi: codice (di tipo intero) per identificare il prodotto numero pezzi (maggiore di zero) la scadenza

14 Scadenza La scadenza e’ (in alternativa) una data o infinito (non ha scadenza)

15 Proprieta’ del magazzino Un oggetto di tipo Magazzino memorizza le seguenti informazioni -la data corrente (giorno,mese,anno) -la lista della merce disponibile nel magazzino -la dimensione

16 Proprieta’ del magazzino I Vogliamo che non sia presente merce scaduta! Ogni merce presente nel magazzino deve avere una scadenza che e’ uguale o maggiore della data corrente

17 Scadenza: ordinamento §Vogliamo un ordinamento tra le scadenze: --ogni data e’ minore di infinito --infinito e’ minore di infinito --tra date vale l’ordinamento cronologico

18 Esempio 1/12/2007 < infinito 6/11/2007< infinito 1/12/2007 < 17/12/2007 6/11/2007<1/1/2008

19 MERCE SCADUTA Ogni merce presente nel magazzino deve avere una scadenza che e’ uguale o maggiore della data corrente Data corrente: 30/5/2007 Merce : codice 125 pezzi 400 data 1\5\2007

20 Proprieta’ del magazzino II Vogliamo che il numero di pezzi totali delle merci presenti nel magazzino sia minore o uguale della dimensione dimensione: 5 (123,4,1\12\2009), (125,400,1\11\2008)

21 Proprieta’ del magazzino III Vogliamo che la lista della merce disponibile sia ordinata (per motivi di efficienza) Come? In base al codice del prodotto (in ordine crescente) A parita’ di codice in base alla scadenza (quella che scade prima deve venire prima) in ordine crescente

22 Esempio (123,4,1\12\2009) (125,400,1\11\2008) (125,400,1\11\2009)

23 Proprieta’ del magazzino III Per motivi di efficienza vogliamo che non compaiano ripetizioni di merci che hanno lo stesso codice del prodotto e scadenza

24 Esempio: ripetizioni (125,300,1\11\2009) (125,400,1\11\2009) Non e’ una rappresentazione efficiente. Meglio usare (125, 700,1\11\2009)

25 Operazioni sul magazzino Vogliamo una serie di operazioni per ---creare un Magazzino ---aggiornare la data corrente ---inserire nuova merce ---verificare la disponibilita’ dei prodotti

26 Inializzazione: parametri §la data corrente iniziale §la dimensione (fissa) e >0

27 Operazioni  get-data restituisce la data corrente  get-size restituisce la dimensione

28 Operazioni  pezzi  prende come parametro il codice di un prodotto cod restituisce il numero di pezzi del prodotto cod presenti nel magazzino (indipendendente dalla scadenza)

29 Operazioni  pezzi-data  prende come parametro il codice di un prodotto cod ed una data x restituisce il numero di pezzi del prodotto cod presenti nel magazzino che hanno scadenza maggiore o uguale ad x

30 Operazioni  allpezzi restituisce il numero di pezzi presenti nel magazzino (di tutti i prodotti)

31 Operazioni  allpezzi-data §prende come parametro una data x restituisce il numero di pezzi presenti nel magazzino (di tutti i prodotti) presenti nel magazzino che hanno scadenza maggiore o uguale ad x

32 Operazioni di modifica  cambia-data prende come parametro una data x se x e’ minore o uguale alla data corrente solleva InvalidDataException (controllata) se x e’ maggiore della data corrente aggiorna la data corrente con x, e modifica la lista della merce disponibile, rimuovendo quella scaduta

33 Esempio (123,4,1\12\2009) (125,400,1\11\2008) (125,400,1\11\2009) Data nuova 1\1\2009 (123,4,1\12\2009) (125,400,1\11\2009)

34 Modificatori  insert §prende come parametro una Merce x se la scadenza di x e’ minore della data corrente solleva InvalidDataException se il numero di pezzi di x supera il limite sulla dimensione del magazzino solleva SizeException (controllata) altrimenti, inserisce x nella lista della Merce disponibile (in base all’ordinamento)

35 Esempio: inserimento (125,300,1\11\2009) (127,400,1\11\2009) Inseriamo (126, 700,1\11\2009): (125,300,1\11\2009) (126, 700,1\11\2009) (127,400,1\11\2009)

36 Esempio: ripetizioni (125,300,1\11\2009) (125,400,1\12\2009) Inseriamo (125, 700,1\11\2009): (125,1000,1\11\2009) (125,400,1\12\2009)

37 Modificatori  remove  prende come parametro il codice di un prodotto cod e un numero di pezzi x se la lista della merce non contiene almeno x pezzi di prodotto cod solleva l’eccezione NotFoundException (controllata) altrimenti rimuove dalla lista della merce x pezzi di prodotto cod (a partire da quelli con scadenza minore)

38 Esempio: rimozione (125,300,1\11\2009) (125,500,1\12\2009) (127,100,1\12\2007) Rimuoviamo 600 pezzi di 125: (125,200,1\12\2009) (127,100,1\12\2007)

39 Modificatori  removeall  prende come parametro il codice di un prodotto cod rimuove dalla lista della merce tutta la merce di prodotto cod

40 In aggiunta  get-merce  prende come parametro una scadenza s se s e’ minore della data corrente solleva InvalidDataException altrimenti restituisce le lista della merce presente nel magazzino con scadenza s

41 Esempio (125,300,1\12\2007) (125,500,1\12\2009) (127,100,1\12\2007) Parametro 1\12\2007 : restituisce (125,300,1\12\2007) (127,100,1\12\2007)

42 Proprieta’ del magazzino §Devono essere garantite per costruzione §Costruttori §Metodi d’istanza che realizzano le operazioni segnalano (p.e. tramite opportune eccezioni) le situazioni in cui la modifica non puo’ essere effettuata perche’ viola le condizioni

43 Come procedere? Partire dalla specifica del tipo di dato principale Magazzino Specifica: costruttori, metodi e descrizione informale (pre e post condizioni) Devono realizzare le richieste descritte in precedenza I commenti alle classi sono parte integrante del progetto

44 Tipi di dato ausilari La specifica del magazzino si basa su alcuni tipi di dato ausiliari: Data, Merce, Scadenza E’ necessario darne specifica ed implementazione Lo stato degli oggetti deve memorizzare le informazioni richieste Quali Operazioni? A scelta: ---pensare ad un insieme di operazioni significativo ---semplifichino e supportino la realizzazione del tipo di dato principale Scelte di progetto spiegate e motivate nella relazione

45 Implementazione Scegliere la rappresentazione piu’ adeguata per ogni tipo di dato Non ci sono vincoli sul modo in cui realizzarlo (purche’ funzioni)

46 Verranno apprezzate Uso delle liste concatenate (per esempio per memorizzare la lista della merce nel magazzino) L’implementazione sfrutti l’ordinamento per motivi di efficienza L’uso dell’ereditarieta’ (data, scadenza?)

47 Testing §Deve essere realizzato tramite un opportuno metodo main (in modo standard) §Deve essere inviato insieme ai files del progetto §NOTA: il progetto deve essere inviato una ed una sola volta nella versione finale (funzionante)

48 Ricevimento §Non ci saranno piu’ lezioni §Per qualsiasi informazione (salvo dal 10 al 24 giugno)