Anteprima
Vedrai una selezione di 3 pagine su 6
Esercitazione Programmazione 1 Pag. 1 Esercitazione Programmazione 1 Pag. 2
Anteprima di 3 pagg. su 6.
Scarica il documento per vederlo tutto.
Esercitazione Programmazione 1 Pag. 6
1 su 6
D/illustrazione/soddisfatti o rimborsati
Disdici quando
vuoi
Acquista con carta
o PayPal
Scarica i documenti
tutte le volte che vuoi
Estratto del documento

Nell’applicazione, ogni utente e’ caratterizzato da attributi:

- Nome

- ID (può essere un INT o un String Code)

- collezione di libri (ogni utente ha la sua collezione di libri)

il prestito, come anche la condivisione, ovviamente non implicano la rimozione dall’archivio

del possessore

Non si richiede implementazione delle operazioni il codice utente che si occupa di:

- richiesta di condivisione libro

- ricezione di un libro in prestito/o condivisione

3. MAIN

- istanziare due utenti (A e B), ognuno di essi con una collezione di libri a dimensione

arbitraria

- Collezione dell’utente A contiene almeno 3 libri, di cui almeno uno prestabile e uno

condivisibile

- Utente A deve cercare dentro la propria collezione un libro per titolo e prestarlo

all’utente B. Il successo dell’operazione produce un aggiornamento nello stato del

libro prestato. Questo stato deve essere stampato a video

- Nel caso in cui il libro non e’ stato trovato, sollevare un eccezione che deve essere

catturata

- Utente A vuole leggere un libro. Ci chiediamo se B possiede il libro e può prestarlo o

condividerlo con A

- Utente B deve cercare dentro la propria collezione un libro per titolo e renderlo

condiviso

- se non trovato sollevare un eccezione

Un ristorante offre ai suoi clienti un menu che comprende

primi piatti, secondi piatti, pizze.

Ogni pietanza è caratterizzata da un nome, un set di

ingredienti, un prezzo.

Ogni ingrediente ha una descrizione ed una tipologia di

appartenenza che ne indica l'origine (vegetale, animale).

Per i primi piatti si desidera memorizzare anche la quantità di

carboidrati, proteine e grassi.

Per i secondi piatti occorre memorizzare proteine e grassi.

Per le pizze occorre anche indicare la tipologia di farina

utilizzata, ed un set di eventuali supplementi (aggiuntiva

rispetto agli ingredienti).

Il supplemento è definito come l'ingrediente ma in piu' ha

anche il proprio prezzo.

Definire le opportune classi,

Prevedere per ciascuna il metodo tostring() per tutte le

informazioni di ogni prodotto.

Per i primi piatti e i secondi piatti occorre un metodo che

indichi l'apporto calorico principale, tenendo presente che

calorie=4*carboidrati

calorie=4*proteine

calorie=9*grassi

Per ogni possibile pietanza occorre poterne calcolare il costo

(NB:PER LA PIZZA DEVE SOMMARE ANCHE I COSTI DEI

SUPPLEMENTI)

E' definita poi l'interfaccia "vegano", che prevede un metodo

"controllaSeVegano" che verifica se una pietanza lo è o meno.

Prevedere l'implementazione di tale interfaccia per primi piatti

e pizze

Abbonati di un teatro

Si definisca un insieme di interfacce e classi per rappresentare la gestione degli abbonamenti per

una rassegna teatrale

Ogni abbonato è un utente caratterizzato dai seguenti dati: nome e cognome, età, e-mail (chiave

utente) .

Sono previsti, i seguenti tipi di abbonati:

anziani (età≥70)

● studenti universitari

● utente normale,

Per ciascun abbonato

occorre implementare tutti e soli i setter e getter che si ritengono necessari

● occorre lanciare delle eccezioni in caso di inserimento di valori errati

Un abbonamento ha un prezzo base pari a BASE € e un codice abbonamento univoco (a scelta dello

studente tipo e meccanismo di incremento). Alcuni tipi di utente hanno diritto ad una detrazione sul

prezzo totale dell’abbonamento.

Agli studenti universitari si applica una detrazione del 40% del costo dell’abbonamento

● Agli anziani va applicata una detrazione del 50% del costo dell’abbonamento

● Utenti normali non implementano alcuna funzione di detrazione

Gli utenti normali possono richiedere un posto numerato pagando il 10% in più rispetto al prezzo

BASE. Per semplicità non è richiesta l’implementazione del meccanismo di numerazione dei posti.

Quindi, gli utenti normali saranno caratterizzati da un booleano che sarà settato a True se hanno

richiesto un posto numerato, False altrimenti.

Il teatro ha una capacità di posti limitata, per cui si prevede di assegnare un certo numero

MAX_POSTI di abbonamenti; Il numero massimo di posti in sala per abbonamenti agli studenti

MAX_UNIV ≤ 10% MAX_POSTI.

universitari è

Per l’operazione di abbonamento al Teatro va specificato:

● utente

● se vuole un posto numerato

Va restituito il costo dell’abbonamento. Se all’atto dell’abbonamento il posto non c’è va o non può

essere accettato con tali specifiche, va sollevata una eccezione

Dettagli
A.A. 2024-2025
6 pagine
SSD Scienze matematiche e informatiche INF/01 Informatica

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher andrea.baldi50 di informazioni apprese con la frequenza delle lezioni di Programmazione 1 e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Università degli Studi di Catania o del prof Marino Mario.