Fondamenti di Informatica T2 Modulo 2. Corso di Laurea in Ingegneria Informatica Anno accademico 2008/2009. Phone Plan

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Fondamenti di Informatica T2 Modulo 2. Corso di Laurea in Ingegneria Informatica Anno accademico 2008/2009. Phone Plan"

Transcript

1 Università degli Studi di Bologna Facoltà di Ingegneria Fondamenti di Informatica T2 Modulo 2 Corso di Laurea in Ingegneria Informatica Anno accademico 2008/2009 Phone Plan Si desidera modellare il funzionamento di un sistema di tariffazione telefonica In particolare, occorre progettare la porzione di sistema che modella il piano telefonico Un piano telefonico consente di calcolare il costo di una chiamata dati istanti di inizio/fine della chiamata stessa, operatore di destinazione e numero di destinazione. 2

2 Costo chiamata Costo chiamata Costo chiamata Phone Plan Modellare una tariffa a secondi, o una tariffa a scatti? E se le vogliamo entrambe? In realtà le tariffe sono TUTTE a scatti o, al limite, sono tempo continue quando lo scatto dura infinitamente poco (e costa infinitamente poco) Dando la possibilità di definire la durata dell intervallo/scatto in millisecondi forse ce la si cava 3 Phone Plan Durata chiamata Scatto alla risposta più primo scatto Durata chiamata Scatto alla risposta nullo Scatto alla risposta più primo scatto molto molto piccolo! Durata chiamata 4

3 Phone Plan Un piano telefonico è caratterizzato da: Scatto alla risposta (eventualmente a costo nullo) Durata dell intervallo di tempo standard (in millisecondi) In questo modo si possono modellare sia le tariffe a scatti, sia le tariffe a secondi Per avere una tariffa a secondi impostare l intervallo ad 1 secondo Per avere una tariffa a scatti impostare l intervallo alla durata dello scatto 5 Phone Plan Per ogni operatore di destinazione, i costi delle chiamate possono variare, quindi, per ogni operatore una giornata è suddivisa in fasce orarie (bande) ognuna dotata di ore di inizio e fine validità e costo per intervallo standard di tempo Attenzione: ogni giorno DEVE essere completamente coperto (24h) non possono esserci buchi! 6

4 Entità Quali sono le entità in gioco? Piano telefonico (PhonePlan) Operatore (Operator) Fascia oraria (Banda) 7 Band Modella la fascia oraria ed è caratterizzato da: Ora di inizio/fine e giorni della settimana in cui è valida Costo dell intervallo Un metodo (isinband) che consente di verificare se la fascia è applicabile per una data/ora passata come parametro Un metodo (isvalid) che consente di verificare se la fascia è valida Ora di inizio precedente l ora di fine Insieme dei giorni di applicabilità non vuoto 8

5 Band Per modellare ora di inizio/fine validità di una fascia oraria (Band) è eccessivo usare un Date Date è molto flessibile ma fa molto (troppo) più del necessario Ad esempio le informazioni relative a giorni, mesi, anni, non sono assolutamente necessarie Occorre un entità aggiuntiva che consenta di modellare un orario in modo semplice bastano ora e minuti Chiamiamo SimpleTime questa nuova entità 9 SimpleTime Memorizza le ore del giorno in termini di ore e minuti e permette di: Ottenere una nuova istanza di SimpleTime ottenuta aggiungendo i minuti dati al SimpleTime corrente Verificare l uguaglianza fra due SimpleTime (equals) Confrontare due SimpleTime (compareto solita semantica) Verificare la validità di un istanza (isvalid) Ora rappresentata compresa fra minimo e massimo ammissibili (quali sono?) class tlc - hours: int - minutes: int SimpleTime + SimpleTime(int, int) + gethours() : int + getminutes() : int + addminutes(int) : SimpleTime + equals(simplet ime) : boolean + compareto(simpletime) : int 10

6 Band Finalmente il diagramma class tlc Ba nd - combineddays: DayOfWeekEnum ([]) - starttime: SimpleTime - endtime: SimpleTime - costperinterval: double + Band(SimpleTime, SimpleTime, DayOfWeekEnum[], double) + getstarttime() : SimpleTime + getendtime() : SimpleTime + getcombineddays() : DayOfWeekEnum[] + getcostperinterval() : double + isinband(date) : boolean -endtime -starttime - hours: int - minutes: int SimpleTime + SimpleTime(int, int) + gethours() : int + getminutes() : int + addminutes(int) : SimpleTime + equals(simplet ime) : boolean + compareto(simpletime) : int 11 Operator L operatore è caratterizzato da: Nome dell operatore Insieme di fasce applicabili Consente di: Ottenere un costo per intervallo per una certa data/ora (getcostperinterval) Verificare la validità dei dati (isvalid) Le fasce devono essere valide e, nel loro insieme, devono coprire tutte le ore di tutti i giorni della settimana class tlc Ba nd Operator - name: String - bands: Band ([]) + Operator(String, Band[]) + getname() : String + getbands() : Band[] + getcostperinterva l(date) : double - combineddays: DayOfWeekEnum ([]) - starttime: SimpleTime - endtime: SimpleTime -bands - costperinterval: double + Band(SimpleTime, SimpleTime, DayOfWeekEnum[], double) + getstarttime() : SimpleTime + getendtime() : SimpleTime + getcombineddays() : DayOfWeekEnum[] + getcostperinterval() : double + isinband(date) : boolean 12

7 Phone Plan Il piano telefonico è caratterizzato da: Nome del piano Intervallo standard Costo dello scatto alla risposta Un insieme di operatori (tutti quelli possibili?) Consente di: Ottenere il costo di una chiamata date le sue caratteristiche: il numero chiamato, l operatore di destinazione e la data/ora di inizio Verificare la validità del piano ogni operatore deve essere valido class tlc Plan - name: String - interval: int - startcallcost: double - operators: Operator ([]) + Plan(String, int, int, Operator[]) + getname() : String + getinterval() : int + getstartcallco st() : double + getcallcost(date, Date, String, String) : double -operators Operator - name: String - bands: Band ([]) + Operator(String, Band[]) + getname() : String + getbands() : Band[] + getcostperinterva l(date) : double 13 Gli algoritmi Fondamentalmente due (il resto è struttura) Calcolo del costo di una chiamata Verifica di validità del piano telefonico Nessuno dei due è veramente complicato perché: Il modo in cui sono strutturate le entità semplifica le cose siamo SMART! 14

8 Calcolo costo chiamata Plan.getCallCost Input: inizio/fine chiamata, nome operatore, numero dest. Selezionare l operatore dato il suo nome Chiedere all operatore il costo per intervallo dato l istante di inizio della chiamata (Operator.getCostPerInterval) Calcolare il numero di intervalli di cui è composta la durata della chiamata Differenza in millisecondi fra data/ora di inizio e fine chiamata, diviso per la durata dell intervallo Restituire il risultato del prodotto fra numero di intervalli e costo dell intervallo (recuperato in precedenza) Ipotesi semplificativa: se una chiamata cade a cavallo di due fasce orarie, si assume valido il costo per intervallo dell istante iniziale 15 Calcolo costo chiamata Operator.getCostPerInterval Input: istante di inizio chiamata Fra tutte le bande, recuperare quella che fornisce il costo per quell istante (Band.isInBand) Dalla banda recuperata, ottenere il costo per intervallo (Band.getCostPerInterval) 16

9 Verifica Validità Plan.isValid Verifica che tutti gli Operator siano validi Operator.isValid Verifica che tutte le Band siano valide Verifica che, per ogni giorno della settimana, siano coperte tutte le 24 ore Come fare? 17 Operator.isValid Verificare la validità di tutte le Band in blocco è improponibile Occorre dividere il problema: 1. Valutare la validità di ogni singolo giorno della settimana (metodo statico values() di DayOfWeekEnum) Selezionare le sole Band che afferiscono al giorno in analisi 2. Valutare la copertura di tutte le 24 ore di un giorno a. Ordinare le Band selezionate in base all ora di inizio b. Verificare che la prima Band dell insieme ordinato cominci alle 00:00 e che l ultima termini alle 23:59 c. Verificare che ogni Band nell elenco ordinato, tranne la prima e l ultima, cominci un minuto dopo la fine della Band precedente 18

10 Esercizio per casa Cosa accade se viene rimossa l ipotesi semplificativa sul calcolo del costo della chiamata? Come cambia il codice? 19

Realizzazione di Phone Plan

Realizzazione di Phone Plan Università degli Studi di Bologna Facoltà di Ingegneria Fondamenti di Informatica T2 Modulo 2 Corso di Laurea in Ingegneria Informatica Anno accademico 2008/2009 Realizzazione di Phone Plan Fare riferimento

Dettagli

Realizzazione di Phone Plan. Soluzione - SimpleTime. Realizzazione e testing! Soluzione - SimpleTime. Soluzione - SimpleTime

Realizzazione di Phone Plan. Soluzione - SimpleTime. Realizzazione e testing! Soluzione - SimpleTime. Soluzione - SimpleTime Università degli Studi di Bologna Facoltà di Ingegneria Fondamenti di Informatica T2 Modulo 2 Corso di Laurea in Ingegneria Informatica Anno accademico 2008/2009 Realizzazione di Phone Plan Fare riferimento

Dettagli

Veicoli. Veicoli. Veicoli. Veicoli. Veicoli. Fondamenti di Informatica T2 Modulo 2. Università di Bologna A.A. 2008/2009

Veicoli. Veicoli. Veicoli. Veicoli. Veicoli. Fondamenti di Informatica T2 Modulo 2. Università di Bologna A.A. 2008/2009 Università degli Studi di Bologna Facoltà di Ingegneria Fondamenti di Informatica T2 Modulo 2 Corso di Laurea in Ingegneria Informatica Anno accademico 2008/2009 Si desidera realizzare una o più classi

Dettagli

Fondamenti di Informatica T2 Modulo 2. Corso di Laurea in Ingegneria Informatica Anno accademico 2014/2015. Ancora Phone Plan

Fondamenti di Informatica T2 Modulo 2. Corso di Laurea in Ingegneria Informatica Anno accademico 2014/2015. Ancora Phone Plan Università degli Studi di Bologna Scuola di Ingegneria e Architettura Fondamenti di Informatica T2 Modulo 2 Corso di Laurea in Ingegneria Informatica Anno accademico 2014/2015 Ancora Phone Plan Quanto

Dettagli

Esercitazione n 2. Obiettivi

Esercitazione n 2. Obiettivi Esercitazione n 2 Obiettivi Progettazione di una applicazione Java Utilizzo di classi come schemi Utilizzo di costruttori Utilizzo di stringhe Uguaglianza tra oggetti Utilizzo di classi come componenti

Dettagli

ESAME DI FONDAMENTI DI INFORMATICA T-2 del 23/07/2018 Proff. E. Denti R. Calegari G. Zannoni Tempo: 4 ore

ESAME DI FONDAMENTI DI INFORMATICA T-2 del 23/07/2018 Proff. E. Denti R. Calegari G. Zannoni Tempo: 4 ore ESAME DI FONDAMENTI DI INFORMATICA T-2 del 23/07/2018 Proff. E. Denti R. Calegari G. Zannoni Tempo: 4 ore NOME PROGETTO ECLIPSE: CognomeNome-matricola (es. RossiMario-0000123456) NOME CARTELLA PROGETTO:

Dettagli

Fondamenti di Informatica T-1

Fondamenti di Informatica T-1 Fondamenti di Informatica T-1 Mappe Tutor: Allegra De Filippo allegra.defilippo@unibo.it a.a. 2015/2016 Fondamenti di Informatica T-1 Allegra De Filippo 1 / 1 Mappe: definizione Tabelle a due colonne:

Dettagli

Esempi di programmi. Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1. Dispensa E01. A. Miola Settembre 2007

Esempi di programmi. Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1. Dispensa E01. A. Miola Settembre 2007 Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1 Dispensa E01 Esempi di programmi A. Miola Settembre 2007 http://www.dia.uniroma3.it/~java/fondinf1/ Esempi di programmi - 1 1 Contenuti

Dettagli

Esercitazione n 2. Obiettivi

Esercitazione n 2. Obiettivi Esercitazione n 2 Obiettivi Progettazione di una applicazione Java Utilizzo di classi come schemi Utilizzo di costruttori Utilizzo di stringhe Uguaglianza tra oggetti Utilizzo di classi come componenti

Dettagli

Variabili e assegnazione

Variabili e assegnazione Corso di Laurea Ingegneria Civile Fondamenti di Informatica Variabili e assegnazione Carla Limongelli Marzo 2009 Variabili e assegnazione 1 Contenuti Variabili a ab e assegnazionea e Variabili e aree di

Dettagli

L assegnamento. Andrea Marin. a.a. 2011/2012. Università Ca Foscari Venezia Laurea in Informatica Corso di Programmazione part-time

L assegnamento. Andrea Marin. a.a. 2011/2012. Università Ca Foscari Venezia Laurea in Informatica Corso di Programmazione part-time Andrea Marin Università Ca Foscari Venezia Laurea in Informatica Corso di Programmazione part-time a.a. 2011/2012 Abbiamo visto È conveniente definire una macchina astratta C Lo stato della macchina ci

Dettagli

Array. Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1. Dispensa 11. A. Miola Dicembre 2007

Array. Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1. Dispensa 11. A. Miola Dicembre 2007 Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1 Dispensa 11 Array A. Miola Dicembre 2007 http://www.dia.uniroma3.it/~java/fondinf1/ Array 1 Contenuti Il problema degli studenti da promuovere

Dettagli

Vending Machine Problemi?

Vending Machine Problemi? Università degli Studi di Bologna Facoltà di Ingegneria Fondamenti di Informatica T2 Modulo 2 Corso di Laurea in Ingegneria Informatica Anno accademico 2008/2009 Vending Machine Problemi? La riconfigurabilità

Dettagli

ESAME DI FONDAMENTI DI INFORMATICA T-2 del 16/07/2013 Proff. E. Denti G. Zannoni Tempo a disposizione: 4 ore MAX

ESAME DI FONDAMENTI DI INFORMATICA T-2 del 16/07/2013 Proff. E. Denti G. Zannoni Tempo a disposizione: 4 ore MAX ESAME DI FONDAMENTI DI INFORMATICA T-2 del 16/07/2013 Proff. E. Denti G. Zannoni Tempo a disposizione: 4 ore MAX NB: il candidato troverà nell archivio ZIP scaricato da Esamix anche il software Start Kit

Dettagli

Il diagramma delle classi è raffigurato in Figura 1, insieme alla descrizione della responsabilità sulle associazioni.

Il diagramma delle classi è raffigurato in Figura 1, insieme alla descrizione della responsabilità sulle associazioni. SAPIENZA Università di Roma Facoltà di Ingegneria - Corso di Laurea in Ingegneria Informatica Corso di Progettazione del Software A.A. 2008/2009 Prova al calcolatore (riveduta) del 5 giugno 2009 L applicazione

Dettagli

Programmi e Oggetti Software

Programmi e Oggetti Software Corso di Laurea Ingegneria Civile Fondamenti di Informatica Dispensa 06 Programmi e Oggetti Software Marzo 2010 Programmi e Oggetti Software 1 Contenuti Cosa è un programma Cosa significa programmare Il

Dettagli

Programmi e Oggetti Software

Programmi e Oggetti Software Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1 Dispensa 2 Programmi e Oggetti Software Alfonso Miola Settembre 2007 http://www.dia.uniroma3.it/~java/fondinf1/ Programmi e Oggetti Software

Dettagli

Un tipo di dato astratto (ADT) definisce una categoria concettuale con le sue proprietà: una definizione di tipo

Un tipo di dato astratto (ADT) definisce una categoria concettuale con le sue proprietà: una definizione di tipo TIPI DI DATO ASTRATTO Un tipo di dato astratto (ADT) definisce una categoria concettuale con le sue proprietà: una definizione di tipo implica un dominio, D un insieme di operazioni ammissibili su oggetti

Dettagli

Istruzioni di selezione in Java 1

Istruzioni di selezione in Java 1 Ordine di esecuzione Istruzioni di selezione in Java Corso di laurea in Comunicazione digitale Nei metodi l ordine di esecuzione delle istruzioni è sequenziale se non specificato altrimenti Alcune istruzioni

Dettagli

Esercitazione n 2. Obiettivi

Esercitazione n 2. Obiettivi Esercitazione n 2 Obiettivi Progettazione di una applicazione Java Utilizzo di classi come schemi Utilizzo di costruttori Utilizzo di stringhe/array Uguaglianza tra oggetti Utilizzo di classi come componenti

Dettagli

Internazionalizzazione: il supporto alle culture locali. Internazionalizzazione: il supporto alle culture locali. Formattazione di numeri (1/3)

Internazionalizzazione: il supporto alle culture locali. Internazionalizzazione: il supporto alle culture locali. Formattazione di numeri (1/3) Università degli Studi di Bologna Facoltà di Ingegneria Fondamenti di Informatica T2 Modulo 2 Corso di Laurea in Ingegneria Informatica Anno accademico 2008/2009 Internazionalizzazione: il supporto alle

Dettagli

Internazionalizzazione: il supporto alle culture locali

Internazionalizzazione: il supporto alle culture locali Università degli Studi di Bologna Facoltà di Ingegneria Fondamenti di Informatica T2 Modulo 2 Corso di Laurea in Ingegneria Informatica Anno accademico 2008/2009 Internazionalizzazione: il supporto alle

Dettagli

Richiami di Fondamenti di Informatica - 1

Richiami di Fondamenti di Informatica - 1 Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1 Dispensa 2 Richiami di Fondamenti di Informatica - 1 A. Miola Febbraio 2008 http://www.dia.uniroma3.it/~java/fondinf1/ Richiami di FdI-1

Dettagli

Implementazione delle classi

Implementazione delle classi Implementazione delle classi Abbiamo visto che, quando si istanzia un oggetto di una classe, è necessario chiamare il costruttore; Quando si implementa una classe è quindi sempre necessario progettare

Dettagli

Fondamenti di Informatica L-A. Esercitazione 6

Fondamenti di Informatica L-A. Esercitazione 6 Fondamenti di Informatica L-A Esercitazione 6 Passaggio dei Parametri nelle Funzioni Ordinamento di Vettori Paolo Torroni Università degli Studi di Bologna Laurea in Ingegneria Elettronica e delle Telecomunicazioni

Dettagli

Fondamenti di Informatica 6. Algoritmi e pseudocodifica

Fondamenti di Informatica 6. Algoritmi e pseudocodifica Vettori e matrici #1 Fondamenti di Informatica 6. Algoritmi e pseudocodifica Corso di Laurea in Ingegneria Civile A.A. 2010-2011 1 Semestre Prof. Giovanni Pascoschi Le variabili definite come coppie

Dettagli

Esempio: Interfacce. Gioco Interfacce

Esempio: Interfacce. Gioco Interfacce Esempio: Interfacce 1 Descrizione Si supponga di avere delle carte da gioco. Ogni carta rappresenta un Personaggio che può essere di tipo o Umano o Mostro. Un Personaggio di tipo Umano ha una forza fisica

Dettagli

Fondamenti di Informatica L-A. Esercitazione 2

Fondamenti di Informatica L-A. Esercitazione 2 Fondamenti di Informatica L-A Esercitazione 2 Variabili ed Espressioni: Dichiarazione, Coercizione, Overloading, Overflow, Underflow, Divide by Zero e Casting. Input-Output: printf e scanf. Paolo Torroni

Dettagli

Esempio: Interfacce. Gioco Interfacce

Esempio: Interfacce. Gioco Interfacce Esempio: Interfacce 1 Descrizione Si supponga di avere delle carte da gioco. Ogni carta rappresenta un Personaggio che può essere di tipo o Umano o Mostro. Un Personaggio di tipo Umano ha una forza fisica

Dettagli

Array e Oggetti. Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1. Dispensa 12. A. Miola Dicembre 2006

Array e Oggetti. Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1. Dispensa 12. A. Miola Dicembre 2006 Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1 Dispensa 12 Array e Oggetti A. Miola Dicembre 2006 http://www.dia.uniroma3.it/~java/fondinf1/ Array e Oggetti 1 Contenuti Array paralleli

Dettagli

18 - Vettori. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo

18 - Vettori. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo 18 - Vettori Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://pages.di.unipi.it/milazzo milazzo di.unipi.it Corso di

Dettagli

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 2

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 2 Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 2 Dispensa 04 Introduzione ai Tipi astratti di dato A. Miola Febbraio 2007 http://www.dia.uniroma3.it/~java/fondinf2/ Introduzione ADT 1

Dettagli

Fondamenti di Informatica T2 Modulo 2. Corso di Laurea in Ingegneria Informatica Anno accademico 2008/2009. Enumerativi

Fondamenti di Informatica T2 Modulo 2. Corso di Laurea in Ingegneria Informatica Anno accademico 2008/2009. Enumerativi Università degli Studi di Bologna Facoltà di Ingegneria Fondamenti di Informatica T2 Modulo 2 Corso di Laurea in Ingegneria Informatica Anno accademico 2008/2009 Enumerativi Finora abbiamo creato enumerativi

Dettagli

Istruzioni Condizionali

Istruzioni Condizionali Corso di Laurea Ingegneria Informatica Fondamenti di Informatica Dispensa 10 Istruzioni Condizionali Carla Limongelli Novembre 2011 http://www.dia.uniroma3.it/~java/fondinf/ Istruzioni condizionali 1 Contenuti

Dettagli

Passare argomenti al programma

Passare argomenti al programma Passare argomenti al programma Quando si invoca un programma è possibile passare degli argomenti ad esso durante la chiamata. Gli argomenti ricevuti saranno stringhe (array di char) quindi l insieme di

Dettagli

Programmazione Orientata agli Oggetti. Emilio Di Giacomo e Walter Didimo

Programmazione Orientata agli Oggetti. Emilio Di Giacomo e Walter Didimo Programmazione Orientata agli Oggetti Emilio Di Giacomo e Walter Didimo Una metafora dal mondo reale la fabbrica di giocattoli progettisti Un semplice giocattolo Impara i suoni Dall idea al progetto Toy

Dettagli

Informatica B Esercitazione 3

Informatica B Esercitazione 3 Facoltà di Ingegneria Industriale Laurea in Ingegneria Energetica, Meccanica e dei Trasporti Dipartimento di Elettronica e Informazione Informatica B Esercitazione 3 Array e matrici Andrea Galbiati galbiati@elet.polimi.it

Dettagli

Fondamenti di Informatica T-1

Fondamenti di Informatica T-1 Fondamenti di Informatica T-1 Collezioni, Mappe e Iteratori Tutor: Allegra De Filippo allegra.defilippo@unibo.it a.a. 2016/2017 Fondamenti di Informatica T-1 Allegra De Filippo 1 / 14 Interfaccia

Dettagli

L istruzione switch. Esecuzione condizionale (II parte) L istruzione switch. Payroll con menu (I) L istruzione switch. Payroll con menu (II)

L istruzione switch. Esecuzione condizionale (II parte) L istruzione switch. Payroll con menu (I) L istruzione switch. Payroll con menu (II) 4 Esecuzione condizionale (II parte) Il costrutto switch Il tipo boolean La variabile x viene valutata e confrontata con i vari casi Se il confronto con uno dei casi ha successo, viene eseguita l istruzione

Dettagli

Informatica (A-K) 5. Algoritmi e pseudocodifica

Informatica (A-K) 5. Algoritmi e pseudocodifica Vettori e matrici #1 Informatica (A-K) 5. Algoritmi e pseudocodifica Corso di Laurea in Ingegneria Civile & Ambientale A.A. 2011-2012 2 Semestre Prof. Giovanni Pascoschi Le variabili definite come coppie

Dettagli

Lab 13 Strutture e programmi su più file "

Lab 13 Strutture e programmi su più file Fondamenti di Informatica e Laboratorio T-AB Ingegneria Elettronica e Telecomunicazioni Lab 13 Strutture e programmi su più file " Lab13 1 n Sia data la struttura Esercizio 1" struct time { int hour, minute,

Dettagli

Gestione degli impegni Requisiti generali Si fissi come ipotesi che la sequenza di impegni sia ordinata rispetto al tempo,, e che ogni lavoratore abbi

Gestione degli impegni Requisiti generali Si fissi come ipotesi che la sequenza di impegni sia ordinata rispetto al tempo,, e che ogni lavoratore abbi Fondamenti di Informatica T-1 modulo 2 Laboratorio 10: preparazione alla prova d esame 1 Esercizio 1 - Gestione degli impegni Gli impegni giornalieri dei dipendenti di un azienda devono essere aggiornati

Dettagli

Fondamenti di Informatica

Fondamenti di Informatica Fondamenti di Informatica Algebra di Boole e Circuiti Logici Prof. Christian Esposito Corso di Laurea in Ingegneria Meccanica e Gestionale (Classe I) A.A. 2016/17 Algebra di Boole e Circuiti Logici L Algebra

Dettagli

Programmazione II. Lezione 18. Daniele Sgandurra 11/1/2011.

Programmazione II. Lezione 18. Daniele Sgandurra 11/1/2011. Programmazione II Lezione 18 Daniele Sgandurra daniele.sgandurra@iit.cnr.it 11/1/2011 1/26 Programmazione II Lezione 18 11/1/2011 Sommario 1 2/26 Programmazione II Lezione 18 11/1/2011 Parte I 3/26 Programmazione

Dettagli

Fondamenti di Informatica T-1

Fondamenti di Informatica T-1 Fondamenti di Informatica T-1 Classi e Oggetti Tutor: Allegra De Filippo allegra.defilippo@unibo.it a.a. 2016/2017 Fondamenti di Informatica T-1 Allegra De Filippo 1 / 19 CLASSE: definizione Costrutto

Dettagli

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 2

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 2 Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 2 Dispensa E14 F. Gasparetti, C. Limongelli Maggio 2012 1 Verifica presenza di elementi comuni V1 - Date due liste di stringhe scrivere

Dettagli

Definizione di classi

Definizione di classi Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1 Dispensa E05 Definizione di classi A. Miola Novembre 2006 http://www.dia.uniroma3.it/~java/fondinf1/ Definizione di classi 1 Contenuti

Dettagli

Lab 13 Strutture e programmi su più file

Lab 13 Strutture e programmi su più file Fondamenti di Informatica e Laboratorio T-AB e Fondamenti di Informatica T1 Ingegneria Elettronica e Telecomunicazioni e Ingegneria dell Automazione a.a. 2010/2011 Lab 13 Strutture e programmi su più file

Dettagli

IL LINGUAGGIO JAVA. Input, Tipi Elementari e Istruzione Condizionale. Primo esempio di un programma Java

IL LINGUAGGIO JAVA. Input, Tipi Elementari e Istruzione Condizionale. Primo esempio di un programma Java Fondamenti di Informatica IL LINGUAGGIO JAVA Input, Tipi Elementari e Istruzione Condizionale Fondamenti di Informatica - D. Talia - UNICAL 1 Primo esempio di un programma Java Semplicissimo programma

Dettagli

IL LINGUAGGIO JAVA. Input, Tipi Elementari e Istruzione Condizionale. Fondamenti di Informatica - D. Talia - UNICAL 1. Fondamenti di Informatica

IL LINGUAGGIO JAVA. Input, Tipi Elementari e Istruzione Condizionale. Fondamenti di Informatica - D. Talia - UNICAL 1. Fondamenti di Informatica Fondamenti di Informatica IL LINGUAGGIO JAVA Input, Tipi Elementari e Istruzione Condizionale Fondamenti di Informatica - D. Talia - UNICAL 1 Primo esempio di un programma Java Semplicissimo programma

Dettagli

Requisiti del cliente 4. Analisi e Progettazione

Requisiti del cliente 4. Analisi e Progettazione Requisiti del cliente Home Finance Analisi e Progettazione gabriele.zannoni@unibo.it Ingegneria del Software L-A E1.1 Ingegneria del Software L-A E1.2 Requisiti del cliente 1 Requisiti del cliente 2 Si

Dettagli

Espressioni: da dove si parte. Critiche al modello. Critiche al modello. Critiche al modello. Risultato. Fondamenti di Informatica T2 Modulo 2

Espressioni: da dove si parte. Critiche al modello. Critiche al modello. Critiche al modello. Risultato. Fondamenti di Informatica T2 Modulo 2 Università degli Studi di Bologna Facoltà di Ingegneria Espressioni: da dove si parte Fondamenti di Informatica T2 Modulo 2 Corso di Laurea in Ingegneria Informatica Anno accademico 2008/2009 La struttura

Dettagli

Analisi e Progettazione

Analisi e Progettazione Home Finance Analisi e Progettazione gabriele.zannoni@unibo.it Ingegneria del Software L-A E1.1 Processo di Sviluppo Requisiti del cliente Ingegneria del Software L-A E1.2 1 Requisiti del cliente 1 Si

Dettagli

SOLUZIONE. Requisiti. Requisiti (cont.) Requisiti (cont.)

SOLUZIONE. Requisiti. Requisiti (cont.) Requisiti (cont.) SAPIENZA Università di Roma Facoltà di Ingegneria Sede di Latina Corso di Laurea in Ingegneria Informatica e dell Informazione Requisiti Corso di PROGETTAZIONE DEL SOFTWARE Prof. Domenico Lembo A.A. 2008-09

Dettagli

Fondamenti di Informatica T2 Modulo 2 Lab 1. Corso di Laurea in Ingegneria Informatica Anno accademico 2008/2009. Esercizio 1

Fondamenti di Informatica T2 Modulo 2 Lab 1. Corso di Laurea in Ingegneria Informatica Anno accademico 2008/2009. Esercizio 1 Università degli Studi di Bologna Facoltà di Ingegneria Fondamenti di Informatica T2 Modulo 2 Lab Corso di Laurea in Ingegneria Informatica Anno accademico 2008/2009 Esercizio Ancora frazioni Creare il

Dettagli

Progetto PI , passo A.1 versione del 6 febbraio 2007

Progetto PI , passo A.1 versione del 6 febbraio 2007 Università degli Studi di Roma La Sapienza Facoltà di Ingegneria Corso di Laurea in Ingegneria Gestionale Corso di Progettazione del Software Proff. Toni Mancini e Monica Scannapieco Progetto PI.20050704,

Dettagli

IL LINGUAGGIO JAVA Input, Tipi Elementari e Istruzione Condizionale

IL LINGUAGGIO JAVA Input, Tipi Elementari e Istruzione Condizionale Fondamenti di Informatica IL LINGUAGGIO JAVA Input, Tipi Elementari e Istruzione Condizionale Fondamenti di Informatica - D. Talia - UNICAL 1 Lettura di dati da input In Java la lettura di dati da input

Dettagli

Tecniche e strumenti per la validazione di codice Java: un esempio applicativo

Tecniche e strumenti per la validazione di codice Java: un esempio applicativo Università degli Studi dell'insubria Facoltà di Scienze Matematiche, Fisiche e Naturali Corso di Laurea in Informatica Tecniche e strumenti per la validazione di codice Java: un esempio applicativo Relatore:

Dettagli

Laboratorio Tecniche di valutazione dei progetti di trasporto. 2 lezione: Cos è un investimento? Prof. Ing. Gianfranco Fancello A.

Laboratorio Tecniche di valutazione dei progetti di trasporto. 2 lezione: Cos è un investimento? Prof. Ing. Gianfranco Fancello A. Laboratorio Tecniche di valutazione dei progetti di trasporto 2 lezione: Cos è un investimento? Prof. Ing. Gianfranco Fancello A.A: 2016-2017 Cos è un investimento? Un investimento è: - un esborso di capitale

Dettagli

Array e Oggetti. Corso di Laurea Ingegneria Informatica Fondamenti di Informatica. Dispensa 17. A. Miola Gennaio 2012

Array e Oggetti. Corso di Laurea Ingegneria Informatica Fondamenti di Informatica. Dispensa 17. A. Miola Gennaio 2012 Corso di Laurea Ingegneria Informatica Fondamenti di Informatica Dispensa 17 A. Miola Gennaio 2012 1 Contenuti q Array paralleli q Array e oggetti q Ricerca sequenziale q Ricerca binaria q Fusione di sequenze

Dettagli

Corso di Laurea Ingegneria Civile Elementi di Informatica. Esercizi. Carla Limongelli. Esercizi 1

Corso di Laurea Ingegneria Civile Elementi di Informatica. Esercizi. Carla Limongelli. Esercizi 1 Corso di Laurea Ingegneria Civile Elementi di Informatica Esercizi Carla Limongelli Esercizi 1 Quanti giorni in un mese? Scrivere un metodo che ricevuto in input un mese e un anno, restituisca il numero

Dettagli

ELEMENTI DI INFORMATICA L-B. Ing. Claudia Chiusoli

ELEMENTI DI INFORMATICA L-B. Ing. Claudia Chiusoli ELEMENTI DI INFORMATICA L-B Ing. Claudia Chiusoli Materiale Lucidi delle lezioni Date degli appelli Testi di esami precedenti Informazioni e contatti http://www.lia.deis.unibo.it/courses/ Programma del

Dettagli

PROVA SCRITTA DEL CORSO DI CORSO DI LAUREA IN INGEGNERIA BIOMEDICA ED ELETTRICA 9/6/2008

PROVA SCRITTA DEL CORSO DI CORSO DI LAUREA IN INGEGNERIA BIOMEDICA ED ELETTRICA 9/6/2008 PROVA SCRITTA DEL CORSO DI CORSO DI LAUREA IN INGEGNERIA BIOMEDICA ED ELETTRICA 9/6/2008 MOTIVARE IN MANIERA CHIARA LE SOLUZIONI PROPOSTE A CIASCUNO DEGLI ESERCIZI SVOLTI ESERCIZIO 1 (5 punti) Descrivere

Dettagli

Sistemi di Elaborazione delle Informazioni

Sistemi di Elaborazione delle Informazioni Sistemi di Elaborazione delle Informazioni Algoritmi e Programmi 1 Risoluzione di un problema Il procedimento di soluzione di un problema dovrebbe essere caratterizzato da: analisi del problema e identificazione

Dettagli

Progetto PI , passo A.1 versione del 16 marzo 2007

Progetto PI , passo A.1 versione del 16 marzo 2007 Università degli Studi di Roma La Sapienza Facoltà di Ingegneria Corso di Laurea in Ingegneria Gestionale Corso di Progettazione del Software Proff. Toni Mancini e Monica Scannapieco Progetto PI.20050411,

Dettagli

Algoritmi di Ricerca. Esempi di programmi Java

Algoritmi di Ricerca. Esempi di programmi Java Fondamenti di Informatica Algoritmi di Ricerca Esempi di programmi Java Fondamenti di Informatica - D. Talia - UNICAL 1 Ricerca in una sequenza di elementi Data una sequenza di elementi, occorre verificare

Dettagli

Progetto PI , passo A.3 versione del 28 marzo 2007

Progetto PI , passo A.3 versione del 28 marzo 2007 Università degli Studi di Roma La Sapienza Facoltà di Ingegneria Corso di Laurea in Ingegneria Gestionale Corso di Progettazione del Software Proff. Toni Mancini e Monica Scannapieco Progetto PI.20050411,

Dettagli

Progetto. Angelo Di Iorio, ALMA MATER STUDIORUM UNIVERSITA DI BOLOGNA

Progetto. Angelo Di Iorio, ALMA MATER STUDIORUM UNIVERSITA DI BOLOGNA Progetto Angelo Di Iorio, angelo.diiorio@unibo.it In cosa consiste l esame di Informatica? Prova scritta + progetto Prova scritta Domande a risposta chiusa e aperte Possibili anche domande su spreadsheet

Dettagli

Microsoft Visio 2007 e Project Francesca Benuzzi

Microsoft Visio 2007 e Project Francesca Benuzzi Microsoft Visio 2007 e Project 2007 Francesca Benuzzi Autore: Francesca Benuzzi Collana: Publisher: Fabrizio Comolli Progetto grafico: escom - Milano Prima edizione ISBN: 978-88-8233-605-9 Copyright 2007

Dettagli

Espressioni: da dove si parte

Espressioni: da dove si parte Università degli Studi di Bologna Facoltà di Ingegneria Fondamenti di Informatica T2 Modulo 2 Corso di Laurea in Ingegneria Informatica Anno accademico 2008/2009 Espressioni: da dove si parte La struttura

Dettagli

Ricerca binaria. Corso di Algoritmi e Strutture Dati Esercitazione 4

Ricerca binaria. Corso di Algoritmi e Strutture Dati Esercitazione 4 Ricerca binaria Corso di Algoritmi e Strutture Dati Esercitazione Sommario Algoritmi di ricerca Ricerca lineare Ricerca binaria Manipolare array di oggetti Definizione del problema Dati:. Una sequenza

Dettagli

Progetto E versione del 12 marzo 2007

Progetto E versione del 12 marzo 2007 Università degli Studi di Roma La Sapienza Facoltà di Ingegneria Corso di Laurea in Ingegneria Gestionale Corso di Progettazione del Software Proff. Toni Mancini e Monica Scannapieco Progetto E.20060411

Dettagli

Algoritmi di Ricerca. Esempi di programmi Java

Algoritmi di Ricerca. Esempi di programmi Java Fondamenti di Informatica Algoritmi di Ricerca Esempi di programmi Java Fondamenti di Informatica - D. Talia - UNICAL 1 Ricerca in una sequenza di elementi Data una sequenza di elementi, occorre verificare

Dettagli

Progettazione del Software

Progettazione del Software Progettazione del Software simulazione di esame III Domenico Fabio Savo Dipartimento di Ingegneria Informatica, Automatica e Gestionale Antonio Ruberti Requisiti L'applicazione da progettare riguarda la

Dettagli

Programmazione A.A Costrutti di base. ( Lezione XII, parte I ) Gestione dell input. Prof. Giovanni Gallo Dr.

Programmazione A.A Costrutti di base. ( Lezione XII, parte I ) Gestione dell input. Prof. Giovanni Gallo Dr. Programmazione A.A. 2002-03 I Costrutti di base ( Lezione XII, parte I ) Gestione dell input Prof. Giovanni Gallo Dr. Gianluca Cincotti Dipartimento di Matematica e Informatica Università di Catania e-mail

Dettagli

Studio degli algoritmi

Studio degli algoritmi COMPLESSITÀ COMPUTAZIONALE DEGLI ALGORITMI Fondamenti di Informatica a.a.2006/07 Prof. V.L. Plantamura Dott.ssa A. Angelini Studio degli algoritmi Dato un problema P, le problematiche riguardano: Sintesi

Dettagli

Programmazione ad oggetti

Programmazione ad oggetti Programmazione ad oggetti OOP La programmazione orientata agli oggetti (Object Oriented Programming) ha l obiettivo di formalizzare gli oggetti del mondo reale e di costruire con questi un mondo virtuale.

Dettagli

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica Corso di Laurea Ingegneria Informatica Fondamenti di Informatica Prova Intermedia Marzo 2011 http://www.dia.uniroma3.it/~java/fondinf/ Prova Intermedia 1 Modalità della Prova Intermedia La Prova Intermedia

Dettagli

SOLUZIONE. Requisiti. Requisiti (cont.) Requisiti (cont.) Sapienza - Università di Roma Facoltà di Ingegneria

SOLUZIONE. Requisiti. Requisiti (cont.) Requisiti (cont.) Sapienza - Università di Roma Facoltà di Ingegneria Sapienza - Università di Roma Facoltà di Ingegneria Requisiti Corso di PROGETTAZIONE DEL SOFTWARE I (Corso di Laurea in Ingegneria Informatica) Prof. Giuseppe De Giacomo Canali A-L & M-Z A.A. 2006-07 Compito

Dettagli

TIPI DI DATO ASTRATTO

TIPI DI DATO ASTRATTO TIPI DI DATO ASTRATTO Un tipo di dato astratto (ADT) definisce una categoria concettuale con le sue proprietà: una definizione di tipo implica un dominio, D un insieme di operazioni ammissibili su oggetti

Dettagli

TIPI DI DATO ASTRATTO

TIPI DI DATO ASTRATTO TIPI DI DATO ASTRATTO Un tipo di dato astratto (ADT) definisce una categoria concettuale con le sue proprietà: una definizione di tipo implica un dominio, D un insieme di operazioni ammissibili su oggetti

Dettagli

Lab 09 Strutture e programmi su più file

Lab 09 Strutture e programmi su più file Fondamenti di Informatica e Laboratorio T-AB Ingegneria Elettronica e Telecomunicazioni Lab 09 Strutture e programmi su più file Lab13 1 Alcune Informazioni Utili Funzioni per manipolare stringhe (in string.h)!

Dettagli

Corso di Laurea Ingegneria Informatica

Corso di Laurea Ingegneria Informatica Corso di Laurea Ingegneria Informatica Fondamenti di Informatica Esercizi di ripasso Carla Limongelli Gennaio 2012 http://www.dia.uniroma3.it/~java/fondinf/ Prova Intermedia 1 Modalità della Prova Intermedia

Dettagli

Per gli esercizi sulla algebra booleana, si consiglia di verificare tramite tabelle di verità le equivalenze logiche proposte sulle dispense.

Per gli esercizi sulla algebra booleana, si consiglia di verificare tramite tabelle di verità le equivalenze logiche proposte sulle dispense. Fondamenti di Informatica - A. Fantechi Raccolta di esercizi Per gli esercizi sulla algebra booleana, si consiglia di verificare tramite tabelle di verità le equivalenze logiche proposte sulle dispense.

Dettagli

Agenda Contatti - Requisiti. I Dati. Agenda Contatti. Detail. Detail. Fondamenti di Informatica T2 Modulo 2. Università di Bologna A.A.

Agenda Contatti - Requisiti. I Dati. Agenda Contatti. Detail. Detail. Fondamenti di Informatica T2 Modulo 2. Università di Bologna A.A. Università degli Studi di Bologna Facoltà di Ingegneria Fondamenti di Informatica T2 Modulo 2 Corso di Laurea in Ingegneria Informatica Anno accademico 2008/2009 Agenda Contatti - Requisiti Si desidera

Dettagli

Progettazione del Software

Progettazione del Software Progettazione del Software Simulazione di esame II Domenico Fabio Savo Dipartimento di Ingegneria Informatica, Automatica e Gestionale Antonio Ruberti Sapienza Università di Roma Requisiti L applicazione

Dettagli

Fasi di creazione di un programma

Fasi di creazione di un programma Fasi di creazione di un programma 1. Studio Preliminare 2. Analisi del Sistema 6. Manutenzione e Test 3. Progettazione 5. Implementazione 4. Sviluppo Sviluppo di programmi Per la costruzione di un programma

Dettagli

OCA JAVA 7 SE PROGRAMMER I DOCENTE: DOTT. FAUSTO DELL ANNO

OCA JAVA 7 SE PROGRAMMER I DOCENTE: DOTT. FAUSTO DELL ANNO CENTRO STUDI ULISSE Via Buccino, n. 22 - C.a.p. 84018 - Scafati (SA) Tel. Fax. 081.19970299-339.2365416-349.4152010 E-mail: info@centrostudiulisse.it - www.centrostudiulisse.it OCA JAVA 7 SE PROGRAMMER

Dettagli

Laboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale

Laboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma Il problema di fondo Laboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale Algoritmi e Programmazione Stefano

Dettagli

COMPLESSITÀ COMPUTAZIONALE DEGLI ALGORITMI

COMPLESSITÀ COMPUTAZIONALE DEGLI ALGORITMI COMPLESSITÀ COMPUTAZIONALE DEGLI ALGORITMI Fondamenti di Informatica a.a.200.2005/06 Prof. V.L. Plantamura Dott.ssa A. Angelini Confronto di algoritmi Uno stesso problema può essere risolto in modi diversi,

Dettagli

Sintesi di reti sequenziali 1/2

Sintesi di reti sequenziali 1/2 Fondamenti di Informatica II Ingegneria Informatica e Biomedica I anno, II semestre A.A. 2005/2006 Sintesi di reti sequenziali 1/2 Prof. Mario Cannataro Università degli Studi Magna Graecia di Catanzaro

Dettagli

Fondamenti di Informatica T-1 Modulo 2

Fondamenti di Informatica T-1 Modulo 2 Fondamenti di Informatica T-1 Modulo 2 1 Obiettivi di questa esercitazione 1. Array e funzioni 2. Array e funzioni ricorsive 3. Array e confronto di array 2 Esercizio 1 Creare un programma che legga da

Dettagli

Corso di Laurea Ingegneria Civile Fondamenti di Informatica. Dispensa 11. Leggibilità. Aprile Leggibilita 1

Corso di Laurea Ingegneria Civile Fondamenti di Informatica. Dispensa 11. Leggibilità. Aprile Leggibilita 1 Corso di Laurea Ingegneria Civile Fondamenti di Informatica Dispensa 11 Leggibilità Aprile 2010 Leggibilita 1 Prerequisiti Semplici programmi Java Sintassi del linguaggio Leggibilita 2 Contenuti Stile

Dettagli

Fondamenti di Informatica T-1

Fondamenti di Informatica T-1 Fondamenti di Informatica T-1 Collezioni: ArrayList Tutor: Angelo Feraudo angelo.feraudo2@unibo.it a.a. 2017/2018 Fondamenti di Informatica T-1 Angelo Feraudo 1 / 13 Interfaccia L interfaccia

Dettagli

Esercizio: la classe CashRegister

Esercizio: la classe CashRegister Esercizio: la classe CashRegister Si veda anche il libro di testo: Consigli pratici 3.1 Sezione 4.2 Sezione 8.2 Esercizi 8.1 e 8.2 1 Problema Si chiede di realizzare una classe CashRegister che simuli

Dettagli

Esercizi su array. Corso di Laurea Ingegneria Informatica Fondamenti di Informatica. Dispensa E08. C. Limongelli Gennaio 2012

Esercizi su array. Corso di Laurea Ingegneria Informatica Fondamenti di Informatica. Dispensa E08. C. Limongelli Gennaio 2012 Corso di Laurea Ingegneria Informatica Fondamenti di Informatica Dispensa E08 Esercizi su Array C. Limongelli Gennaio 2012 1 Contenuti q Esercizi: Lettura e stampa di un array Massimo elemento di un array

Dettagli