[bottega] Re:[bottega] Traccia

  • From: "votrusso" <votrusso@xxxxxxxxx>
  • To: "bottega" <bottega@xxxxxxxxxxxxx>
  • Date: Fri, 3 Jan 2003 18:43:20 +0100

---------- Initial Header -----------=0D=0A=0D=0AFrom      : bottega-boun=
ce@xxxxxxxxxxxxx=0D=0ATo          : bottega@xxxxxxxxxxxxx=0D=0ACc        =
  : =0D=0ADate      : Fri, 3 Jan 2003 00:09:20 +0100=0D=0ASubject : [bott=
ega] Traccia=0D=0A=0D=0A=0D=0A=0D=0ATommaso mi ha chiesto una traccia sul=
la falsariga di quelle d'esame=0D=0Aper esercitarsi.  La invio qui, cosi`=
 chi vuole puo` cimentarsi e=0D=0Ainviare soluzioni (anche parziali) in m=
ailing list.=0D=0A=0D=0AIn coda al messaggio ci sono un paio di consigli =
sullo svolgimento.=0D=0A=0D=0A* * *=0D=0A=0D=0AUna biblioteca conserva i =
dati sui suoi libri in un file `archivio'.=0D=0AAd ogni libro corrisponde=
 un blocco di testo cosi` organizzato:=0D=0A=0D=0A=0D=0ATitolo del libro=0D=
=0AEditore del libro=0D=0ACodice del libro=0D=0AAUTORI=0D=0ANome del prim=
o autore=0D=0ACognome del primo autore=0D=0ANome del secondo autore=0D=0A=
Cognome del secondo autore=0D=0A...=0D=0ANome dell'autore `n'=0D=0ACognom=
e dell'autore `n'=0D=0APRESTITI=0D=0ACodice del cliente a cui e` stato pr=
estato=0D=0AData del prestito=0D=0ACodice del cliente a cui e` stato pres=
tato=0D=0AData del prestito=0D=0ACodice del cliente a cui e` stato presta=
to=0D=0AData del prestito=0D=0A...=0D=0A=0D=0A=0D=0AI dati sui clienti so=
no conservati in un file di testo `clienti'.  A=0D=0Aciascun cliente corr=
isponde un blocco di testo cosi` organizzato:=0D=0A=0D=0ANome=0D=0ACognom=
e=0D=0ACodice=0D=0A=0D=0A=0D=0AIn entrambi i casi, naturalmente, i blocch=
i di testo si ripetono (il=0D=0Aprimo file contiene cioe` vari libri, il =
secondo contiene vari=0D=0Aclienti).=0D=0A=0D=0ACrea delle classi che per=
mettano il caricamento di e l'accesso a=0D=0Aquesti dati.  Crea inoltre u=
na classe che permetta di effettuare una o=0D=0Apiu` delle seguenti query=
:=0D=0A=0D=0A- Calcolare il numero di prestiti complessivi effettuati in =
un certo=0D=0Aperiodo (cioe` tra una data di partenza e una di arrivo).=0D=
=0A=0D=0A- Ottenere la lista dei clienti a cui e` stato prestato un libro=
 in un=0D=0Acerto periodo.=0D=0A=0D=0A- Dato il nome e cognome di un clie=
nte, ottenere la lista dei libri=0D=0Ache gli sono stati prestati.=0D=0A=0D=
=0A- Dato il nome e cognome di un cliente, ottenere la lista dei libri=0D=
=0Ache gli sono stati prestati in un certo periodo.  (Naturalmente, se la=
=0D=0Aquery precedente restituiva un vettore, questa query puo` essere=0D=
=0Aintesa semplicemente come un filtro sul vettore restituito dalla=0D=0A=
precedente.)=0D=0A=0D=0A- Dato il codice di un libro, ottenere la lista d=
ei clienti a cui e`=0D=0Astato prestato.=0D=0A=0D=0A=0D=0A* * *=0D=0A=0D=0A=
Alcuni consigli:=0D=0A=0D=0A- Quando un metodo non restituisce un dato, b=
ensi` una lista di dati=0D=0Adello stesso tipo (es. una lista di auto cor=
rispondenti ad un certo=0D=0Acriterio), probabilmente dovra` metterli in =
un vettore e passare=0D=0Aquesto vettore.  Esempio:=0D=0A=0D=0A  class Co=
ncessionaria {=0D=0A      ...=0D=0A      public Vector trovaAuto(String m=
arca, String modello) {=0D=0A          Vector trovate =3D new Vector();=0D=
=0A     ...=0D=0A          // [riempi il vettore con le auto via via trovat=
e]=0D=0A          ...=0D=0A          return trovate;=0D=0A      }=0D=0A  =
}=0D=0A  =0D=0A- Una stringa che rappresenta una data nel formato `12/02/=
01' puo`=0D=0Aessere letta cosi`:=0D=0A=0D=0A  String s =3D "12/02/01";=0D=
=0A  String sGiorno =3D s.substring(0, 2);=0D=0A  String sMese =3D s.subs=
tring(3, 5);=0D=0A  String sAnno =3D s.substring(6, 8);=0D=0A  int iGiorn=
o =3D Integer.parseInt(sGiorno);=0D=0A  int iMese =3D Integer.parseInt(sM=
ese);=0D=0A  int iAnno =3D Integer.parseInt(sAnno);=0D=0A  =0D=0AData d =3D=
 new Data(iGiorno, iMese, iAnno);=0D=0A=0D=0ANaturalmente e` importante c=
he il formato della data rimanga fisso.=0D=0ASe dovessimo cambiare la dat=
a di esempio in `12/02/2001', il programma=0D=0Anon la interpreterebbe pi=
u` correttamente.=0D=0A=0D=0AOK ho ricevuto l'esercizio=0D=0Aciao Massimi=
liano


Other related posts:

  • » [bottega] Re:[bottega] Traccia