5/11/2004Laboratorio di Programmazione - Luca Tesei1 Esercizi Su Progettazione e Implementazione di classi.

Slides:



Advertisements
Presentazioni simili
Programmazione ad oggetti
Advertisements

Funzioni In C++ le funzioni sono caratterizzate da un nome, dal tipo della variabile ritornata e da una lista di parametri (opzionali) La lista dei parametri.
Oggetti Java.
Costruttori e Distruttori
Informatica Recupero debito quarto anno Terzo incontro.
If a cascata, switch, operatori logici
2/11/2004Laboratorio di Programmazione - Luca Tesei1 Progettazione Fase di progettazione di unapplicazione Fase di implementazione.
16/11/2004Laboratorio di Programmazione - Luca Tesei1 Espressioni booleane, confronti.
Linguaggi Regolari e Linguaggi Liberi
12/11/2004Laboratorio di Programmazione - Luca Tesei1 Caratteri – Input da Console Il tipo char Input dallo standard input.
26/10/2004Laboratorio di Programmazione - Luca Tesei1 Variabili e Oggetti Lo spazio di memoria di Java Le API di Java.
3/12/2004Laboratorio di Programmazione - Luca Tesei1 Sequenze di lunghezza variabile ArrayList Operazioni Ricerche.
29/10/2004Laboratorio di Programmazione - Luca Tesei1 Metodi e variabili istanza Definizione e chiamata di metodi Uso delle variabili istanza Documentazione.
18/10/2004Programmazione e Laboratorio di Programmazione – Luca Tesei1 Programmazione e Laboratorio 2004/05 Informazioni Introduttive.
9/11/2004Laboratorio di Programmazione - Luca Tesei1 Tipi numerici di base - Costanti Interi e decimali Definizione di costanti.
22/10/2004Programmazione e Laboratorio di Programmazione – Luca Tesei1 Laboratorio – Primo Impatto Scrivere un semplice programma I primi concetti.
Programmazione e Laboratorio di Programmazione – Luca Tesei1 La Programmazione Cosè la programmazione? Concetti preliminari.
29/11/2004Laboratorio di Programmazione - Luca Tesei1 Ancora sulla progettazione/Pacchetti Concetti di coesione/accoppiamento/coerenza Uso dei package.
26/11/2004Laboratorio di Programmazione - Luca Tesei1 Input/Output Redirecting, scomposizione dellinput, uso di file.
2/11/2004Laboratorio di Programmazione - Luca Tesei1 Punto della situazione Da dove veniamo, dove andiamo.
Java: programmazione concorrente con condivisione di memoria
1 Astrazioni sui dati : Specifica ed Implementazione di Tipi di Dato Astratti in Java.
Classi ed Oggetti in Java (Cenni). Richiami Ruolo delle Classi in Java Oggetti.
29 febbraio 2008 Progettare tipi di dato astratti.
MultiSet, Liste Ordinate
LIP: 1 Marzo 2005 Classe Object e Vettori. Partiamo da Lesercizio dellultima esercitazione realizzato tramite array Vedremo come si puo fare in modo piu.
9/12/2004Laboratorio di Programmazione - Luca Tesei1 Ereditarietà
Interfacce. Interfacce come strumento di progetto Scelta delle classi di un progetto Criteri di coesione e accoppiamento Interfacce e riuso di codice.
FUNZIONI DI BIBLIOTECA
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 4: 18 Aprile 2013 Gianluca Durelli – Marco D. Santambrogio –
LE FUNZIONI TRIGONOMETRICHE
1 Lezione XIII Lu 17-Nov-2005 Programmare le classi.
Overriding.
Soluzione Esercizio - Classe Vettore
Dichiarazione di classi Programmazione Corso di laurea in Informatica.
Programmazione con Interfacce
1 Ereditarietà Una classe può essere derivata da una classe esistente usando la sintassi: public, protected e private specificano il tipo di accesso ai.
11/11/2004Laboratorio di Programmazione - Luca Tesei1 Operazioni numeriche - Input Espressioni, funzioni matematiche, classi involucro, Acquisizione di.
Grandezze e funzioni Marco Bortoluzzi.
Fopndamenti di programmazione. 2 La classe String Una stringa è una sequenza di caratteri La classe String è utilizzata per memorizzare caratteri La classe.
ISTITUTO STATALE DI ISTRUZIONE SUPERIORE F. ENRIQUES CORSO JAVA – PROVA INTERMEDIA DEL 12 MARZO 2007 NOME: COGNOME: ________________________________________________________________________________.
Diagramma di flusso del problema dello stipendio del rappresentante.
Le variabili in Java Nella programmazione tradizionale, una variabile è una porzione di memoria in cui è immagazzinato un certo tipo di dato. Per esempio.
Oggetti in C# Lezione 1 Classi ed istanze Oggetti in C# - Lezione 1.
15/11/2004Laboratorio di Programmazione - Luca Tesei1 Costrutto condizionale Scelte, blocchi.
Una "vera" classe.. ..un esempio pratico: la calcolatrice
Definizione di classi Capitolo 18 febbraio 2004 Definizione di classi.
Oggetti in C# Lezione 2 Metodi e Static Oggetti in C# - Lezione 2.
Variabili e assegnazione
30/11/2004Laboratorio di Programmazione - Luca Tesei1 Interfacce e Polimorfismo.
Esercitazione su Vector. Permette di definire collezioni di dati generiche, che sono in grado di memorizzare elementi di ogni sottotipo di Object Definito.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Puntatori Marco D. Santambrogio – Ver. aggiornata al 11 Ottobre 2014.
Informatica 4 Funzioni. FUNZIONE: definizione MATEMATICA Relazione (o applicazione) binaria tra due insiemi A e B che associa a ogni elemento di A un.
Astrazione di dati Dati Astratti: cosa e perchè Dati Astratti: due meccanismi differenti Dati Astratti: due meccanismi differenti Astrazione e incapsulamento.
Corso di Laurea Ingegneria Informatica Fondamenti di Informatica
Fondamenti di informatica Oggetti e Java Luca Cabibbo Luca Cabibbo – Fondamenti di informatica: Oggetti e Java Copyright © 2004 – The McGraw-Hill Companies.
Ripasso su Java. Introduzione Per risolvere problemi complessi, i linguaggi di programmazione forniscono costrutti per realizzare nuove funzioni che trasformino.
1 Laboratorio di Introduzione alla Programmazione §II MODULO §3 crediti §Esame e voto unico (su 6 crediti totali)
Programmazione in Java. Classi I programmi in Java consistono di classi. Le classi consentono di definire: collezioni di procedure (metodi statici) tipi.
Metodologie di Programmazione Esercizi sulla semantica di Java.
Sommario Oggetti immutabili e non Tipi Primitivi: String, Arrays.
Progettare una classe 21 Febbraio La classe BankAccount Vogliamo realizzare una classe i cui oggetti sono dei semplici conti bancari. * Identifichiamo.
LIP: 15 Marzo 2005 Vettori di interi. Esercizio proposto Definire una classe VectorInt i cui oggetti sono vettori omogenei di interi ordinati in modo.
Fondamenti di informatica T-A Esercitazione 2 : Linguaggio Java, basi e controllo del flusso AA 2012/2013 Tutor : Domenico Di Carlo.
1 Java secondo contatto Nel tunnel una luce…. 2 Esercizio - Contatore Definire la classe Contatore con le seguenti caratteristiche:  Il metodo getValore.
Introduzione all’Ereditarietà Pietro Palladino. Richiami UML Classe: descrizione di un insieme di oggetti software con caratteristiche simili Definisce.
Input in Java. Uso Scanner Un oggetto per la lettura dalla tastiera Piuttosto, per rappresentare la tastiera del nostro calcolatore useremo un oggetto.
Laboratorio di Ingegneria del Software Laboratorio di Ingegneria del Software Primo Incontro Titolare Prof. Pierluigi Sanpietro.
Metodi in Java. Note Identificazione input: (il raggio è un numero reale !!!) Identificazione delle operazioni necessarie al calcolo Area=r*r*PI Circonferenza=2*r*PI.
Introduzione alle Classi e agli Oggetti in Java 1.
Transcript della presentazione:

5/11/2004Laboratorio di Programmazione - Luca Tesei1 Esercizi Su Progettazione e Implementazione di classi

5/11/2004Laboratorio di Programmazione - Luca Tesei2 Esercizio 1 Scrivere un programma che costruisca un oggetto Rectangle, lo stampi e successivamente lo sposti (metodo translate ) e stampi altre tre volte in modo tale che, se ogni volta fosse disegnato, alla fine si avrebbe il seguente disegno:

5/11/2004Laboratorio di Programmazione - Luca Tesei3 Esercizio 2 Consultare le API e trovare tutti i metodi della classe java.awt.Rectangle Scrivere un programma che crei due rettangoli, li stampi e poi usi il metodo intersection per crearne un terzo, risultato dellintersezione dei due, e stamparlo Provare a vedere cosa succede se i due rettangoli hanno intersezione vuota

5/11/2004Laboratorio di Programmazione - Luca Tesei4 Esercizio 3 Aggiungere alla classe SettableNameGreeter i seguenti metodi /** Stampa un saluto di commiato personalizzato */ public void sayGoodbye() /** Stampa una frase in cui rifiuta gentilmente di aiutare la persona name */ public void refuseHelp()

5/11/2004Laboratorio di Programmazione - Luca Tesei5 Esercizio 4 Scrivere una classe SavingsAccount che abbia le stesse funzionalità di BankAccount e in più una variabile istanza interest di tipo double che rappresenta un tasso di interesse Definire i costruttori che si ritengono necessari Definire il metodo addInterest che, ogni volta che viene chiamato, aggiunge al saldo gli interessi (Su un saldo di 1000 euro, gli interessi del 10% sono di 100 euro)

5/11/2004Laboratorio di Programmazione - Luca Tesei6 Esercizio 5 Implementare una classe Employee (dipendente). Ciascun dipendente ha un nome (di tipo stringa) e un salario (di tipo double ). Scrivere un costruttore senza parametri e uno con parametri nome e stipendio Scrivere metodi set/get per leggere e modificare nome e stipendio Scrivere un metodo raiseSalary(double byPercent) che aumenti il salario della percentuale specificata

5/11/2004Laboratorio di Programmazione - Luca Tesei7 Esercizio 6 Implementare una classe Student per una applicazione in cui si vogliano conoscere, per ogni studente, solo il nome e un punteggio totale delle risposte a dei quiz Fornire un costruttore appropriato Fornire il metodo addQuiz(int score) per aggiungere il punteggio ottenuto ad un quiz Fornire il metodo getTotalScore() per conoscere il punteggio totale Fornire il metodo getAverage() per conoscere la media dei punteggi (Sugg. Per calcolare la media cè bisogno di tenere traccia del numero dei quiz )

5/11/2004Laboratorio di Programmazione - Luca Tesei8 Esercizio 7 Implementare una classe Product. Ciascun prodotto ha un nome e un prezzo come ad esempio new Product(Tostapane, 29.95) Fornire il metodo getName() Fornire i metodi set/get per il prezzo Scrivere una classe Test che crei due prodotti e ne stampi il nome e il prezzo Successivamente diminuire il prezzo di entrambi di 5 euro e ristampare il tutto

5/11/2004Laboratorio di Programmazione - Luca Tesei9 Esercizio 8 Implementare una classe Circle che abbia i metodi getArea() e getPerimeter() Nel costruttore indicare il raggio del cerchio Si implementi similmente la classe Square (quadrato) con gli stessi metodi e indicando, nel costruttore, il lato del quadrato.

5/11/2004Laboratorio di Programmazione - Luca Tesei10 Esercizio 9 Implementare una classe LattinaDiBirra con i metodi getSurfaceArea() e getVolume, indicando nel costruttore il raggio della base e laltezza della lattina

5/11/2004Laboratorio di Programmazione - Luca Tesei11 Esercizio 10 Implementare una classe RoachPopulation (popolazione di scarafaggi) Il costruttore riceve la dimensione della popolazione iniziale Il metodo waitForDoubling() simula un periodo di tempo in cui la popolazione raddoppia Il metodo spray() simula una spruzzata di insetticida che riduce la popolazione del 10% Il metodo getRoaches() restituisce il numero attuale di scarafaggi. Scrivere una classe Test o Collaudare con Bluej

5/11/2004Laboratorio di Programmazione - Luca Tesei12 Esercizio 11 Scrivere una classe RabbitPopulation La popolazione iniziale è sempre di una coppia M/F di conigli I conigli sono in grado di accoppiarsi alletà di un mese Un mese dopo ogni femmina genera unaltra coppia di conigli Ipotizzare che i conigli non muoiano mai e che le femmine generino sempre una coppia M/F ogni mese a partire dal secondo mese

5/11/2004Laboratorio di Programmazione - Luca Tesei13 Esercizio 11 Realizzare un metodo waitAMonth() che fa trascorrere un mese Realizzare un metodo getPairs() che stampa il numero attuale di coppie di conigli Collaudare la classe con Bluej Suggerimento: usare una variabile istanza per le coppie di conigli neonate e unaltra per quelle che hanno almeno un mese