Programmazione a oggetti 13.01.2005 ESERCIZIO 1 C++ (punti 13

Programmazione a oggetti
13.01.2005
_________________________________________________________________________________________________
ESERCIZIO 1 C++ (punti 13)
Nell’ambito di un sistema software per un’azienda che produce bibite si rende necessario progettare classi che modellano
due differenti tipi di prodotti: bibite alcoliche e bibite analcoliche. Informalmente, ogni prodotto è caratterizzato da un
codice che identifica la bibita, dal nome del prodotto e da una nota che ne illustra gli ingredienti. Le bibite alcoliche si
differenziano dalle altre per avere anche l’indicazione del grado alcolico.
Realizzare anche una classe per le ditte clienti dell’azienda. Una ditta è caratterizzata dai propri dati anagrafici e da un
vettore di prodotti che l’azienda produttrice ha venduto alla ditta cliente.
Svolgere i seguenti esercizi:
1) Progettare le classi che si ritengono necessarie per modellare la situazione sopra descritta.
2) Scrivere i metodi di classe che si ritengono necessari per calcolare sia il numero di bibite alcoliche che il numero
di bibite analcoliche prodotte dalla ditta.
3) Scrivere una procedura che ricevendo in ingresso una ditta cliente, scriva su un file tutti i dati relativi ai prodotti
ad essa venduti.
_________________________________________________________________________________________________
ESERCIZIO 2 Java (punti 8)
Progettare in Java una classe Poligono_regolare che abbia, oltre alle due coordinate per il centro anche due attributi
che specifichino il numero dei lati e la lunghezza del raggio del cerchio circoscritto. Derivare almeno due classi per
poligoni regolari con pochi lati (es. triangolo_equilatero, quadrato) e per essi specificare dei metodi propri (es. base() e
altezza(), per il triangolo e diagonale() per il quadrato). Definire, in modo adeguato, i costruttori e tutti i metodi di
tipo get e di tipo set che si rendono necessari per modificare gli attributi.
ESERCIZIO 3 (punti 7)
Illustrare le differenze e le analogie tra il C++ e Java nella realizzazione della genericità.
_________________________________________________________________________________________________
ESERCIZIO 4 (punti 2)
Dire se è vera o falsa la seguente affermazione e motivare la risposta:
“gli attributi private sono accessibili esclusivamente da metodi della classe in cui sono definiti”.
Scrivere in modo leggibile. Riportare solo la propria matricola su tutti i fogli (non indicare il nome né il cognome).
Consegnare sia fogli di brutta che di bella copia (distinguendo opportunamente gli uni dagli altri). Numerare i fogli di
bella secondo l’ordine in cui dovranno essere letti dal docente.
Per chi ha sostenuto il parziale. Indicare sul compito che si vuole mantenere il voto del parziale e svolgere solo gli esercizi
2 e 3.