• Non ci sono risultati.

Esercizi Programmazione e Progettazione Software

N/A
N/A
Protected

Academic year: 2021

Condividi "Esercizi Programmazione e Progettazione Software"

Copied!
1
0
0

Testo completo

(1)

Esercizi Programmazione e Progettazione Software

1. Una biblioteca utilizza un software per cercare i libri che ha in archivio. Un libro è rappresentato da una classe che contiene titolo, autore ed anno di pubblicazione. L'insieme dei libri è invece memorizzato in una classe Library che li tiene in un container stl a vostra scelta. Il costruttore della classe Library carica i dati dei libri da file ed inizializza tutti i dati membri, è necessario fornire solo la definizione di tale metodo ma non la sua implementazione.

Implementare la classe Libro ed i seguenti metodi della classe Library:

a) Ricercare se un libro è in biblioteca. Tale operazione supponiamo sia comune e deve essere implementata in modo efficiente.

b) Eliminare un libro.

c) Stampa dei libri in ordine alfabetico di titolo. Tale operazione supponiamo sia comune e deve essere implementata in modo efficiente.

2) a) Una classe Classifier implementa un classificatore di testo. Il costruttore della classe prende un insieme di parole (keywords) ognuna con associato un valore di rilevanza. Un documento è rappresentato da un insieme di parole memorizzato in un contenitore stl a vostra scelta. Un metodo Classify prende un documento in ingresso e decide se esso appartiene alla classe. In particolare, il documento appartiene alla classe se la somma delle rilevanze delle keywords contenute nel documento supera un certo valore N. Implementare la classe Classifier in modo efficiente e fornire un test per la classe stessa.

b) Fornire un semplice Makefile per compilare i sorgenti implementati e generare l'eseguibile (assumendo che ci sia un file classifier_main.cc contenente il main che non dovete realizzare).

3) Un sito di e-commerce vuole realizzare un sistema di notifica per i suoi utenti. Un utente osserva alcuni oggetti e vuole essere notificato quando il loro prezzo varia.

a) Realizzare le classi per implementare questo sistema (incluse le classi Oggetto ed Utente più altre eventuali).

b) Aggiungere una funzionalità che permette all'utente di specificare un prezzo target per ogni oggetto. Se il prezzo scende sotto il target stabilito, l'utente compra in modo automatico l'oggetto con un metodo void Utente::Compra(const Oggetto& oggetto), che non è necessario implementare. Fornire solo le differenze rispetto al punto a), non riscrivere l'intero sistema.

Riferimenti

Documenti correlati

Risoluzione di equazioni differenziali lineari del secondo ordine a coefficienti costanti non omogenee. Metodo di variazione delle costanti arbitrarie e metodo

Solo nei metodi della classe stessa possiamo accedere alla variabile di esemplare private double re dell’oggetto Complex z con la

Se esso giace internamente ad un secondo cerchio C1, concentrico al precedente, di raggio 1 /2 (caso a), allora la lunghezza della corda supera il lato del triangolo equilatero..

una quercia. A  su per il tronco di  si stava arrampicando  tutto sudato e sporco da  scuola, 

E’ l’insieme composto dagli elementi che appartengono contemporaneamente a ciascun insieme considerato. Unione o

• Si presenti la costruzione dei numeri razionali a partire dai numeri interi (si scelga se fare una lezione o presentare il tutto in modo formale);2. • Si dimostri formalmente che

Amiche, tasche, chele, forchetta, mucche, scherzo, lische, panche, Amiche, tasche, chele, forchetta, mucche, scherzo, lische, panche, peluche, duchessa, fatiche, oche,

chiedere, chilo, chimica, chiodo, chiosco, chitarra, fichi, macchia, chiedere, chilo, chimica, chiodo, chiosco, chitarra, fichi, macchia, occhi, pacchi, picchio, tacchino,