Esempio:
Per ogni film il programma deve tenere traccia dei seguenti elementi informativi:
· Titolo del film
· Casa di produzione
· Anno di produzione
· Regista
· Premi
Gli elementi informativi hanno le seguenti proprieta’:
· il titolo del film e’ una chiave univoca, non possono esistere, cioe’, due film con lo stesso titolo;
· ogni film e’ prodotto una sola volta, non si puo’ quindi verificare la situazione che un film
possa essere attribuito a piu’ di una casa di produzione o a piu’ di un anno.
Il programma deve poter:
1) Leggere un file di dati (nome file da tastiera) formattato come descritto in fondo e inserire i dati
cosi’ ottenuti nello stato corrente del sistema; Il numero di record per file non e’ noto a priori; i
record all’interno del file non sono ordinati in alcun modo, possono appartenere a case di
produzione ed anni diversi.
2) Stampare una lista di tutti i film memorizzati nel sistema, raggruppati per anno di produzione,
all’interno dei film di una stesso anno di produzione i film devono essere ordinati per casa di
produzione e, a parita’ di casa di produzione, alfabeticamente per titolo.
3) Effettuare ricerca con chiave alla casa di produzione e stampare la lista di tutti i titoli pertinenti
a quella casa di produzione ordinati per anno di produzione e, a parita’ di anno, per titolo.
4) Effettuare ricerca con chiave uguale all’anno di produzione e stampare la lista di tutti i titoli
pertinenti a quell’anno di produzione ordinati per casa di produzione e, a parita’ di casa, per
titolo.
Non e’ necessario che il programma sia in grado di gestire uno stato persistente da un’esecuzione
all’altra.
Formato dei files dati.
File di testo, un campo per linea, zero o piu’ campi per file.
Ogni record e’ costituito dai seguenti campi:
INIZIO
<titolo>
<casa di produzione>
<anno di produzione >
[REGISTA: < nome del regista>]*
[PREMI: <nome dei premi attribuiti>]
FINE
Farò una classe per il film, uno per l'elenco dei metodi, una classe per la comparazione di film... ma poi? Passi successivi?