gitweb on Svarog

projekti pod git sistemom za održavanje verzija -- projects under the git version control system
zadatak boje i automobili sa prakticnih vezbi
[spa2-materijali.git] / Hash / boje-i-automobili / _zadatak.txt
1 Hash funkcija i funkcija jednakosti
2 ************************************
4 Date su dve klase koje treba dopuniti Boja.java i
5 Automobil.java.
7 Osim toga su dati ulazni fajlovi, kao i klasa StatSet koja
8 je primer klasicnog Java skupa i program TestHash koji
9 sluzi za testiranje napravljenog. Ove fajlove nema potrebe
10 menjati, pa cak ni pokretati, posto postoje `main` metodi
11 u datim klasama koji ih koriste.
13 Radi ispravnog kompajliranja je potrebno da se pomocne klase
14 otvore i snime bar jednom. Na primer ako se kompajler buni
15 da ne zna za `InfoTip`, potrebeno je otvoriti njega, snimiti
16 i ponovo kompajlirati.
19 Zadatak 1 - klasa Boja
20 =======================
22 Data je nedovrsena klasa `Boja`. U okviru nje treba
23 definisati polja u skladu sa opisom tipa, te napraviti metod
24 za ucitavanje podataka, a nakon toga i `equals` i `hashCode`
25 metode.
27 Glavni metod ove klase ce pokrenuti `TestHash` program za
28 testiranje, sa adekvatnim parametrima za ovu klasu. Test
29 program ce ucitati podatke koristeci ovde definisani metod
30 za ucitavanje, smestiti ih u skupove tipa `StatSet`
31 razlicitih velicina i ispisati statistike o koriscenju.
32 Takodje ce uraditi dodatne testove ubacivanja i izbacivanja
33 iz skupa.
36 Tip podataka
37 ------------
39 Boja u ovoj klasi je predstavljena u RGB prostoru boja, tj
40 sastoji se od tri broja u opsegu 0-255.
42 U fajlu se ovo predstavlja sa 3 broja razdvojena razmacima
43 u istom redu.
45 Neke od vrednosti u ovim opsezima su cesce od drugih. U
46 datim primerima su boje koje koriste programeri, a oni
47 tipicno vole da koriste stepene dvojke kao vrednosti.
50 Zadatak 2 - klasa Automobil
51 ============================
53 Potrebno je dopuniti iste metode i u ovoj klasi.
55 Automobil je predstavljen svojim modelom i sa tri boje --
56 karoserija, sedista i volan. Model je stringovni opis i
57 tipicno se sastoji od imena kompanije i konkretnog imena
58 modela, ali se moze posmatrati kao jedan string. Boje su
59 predstavljene u RGB prostoru, odnosno primerci su klase iz
60 prvog zadatka.
62 U fajlu je Automobil dat sa opisom modela u prvom redu, a
63 u sledeca tri reda su opisi boja, kao sto je dato u prvom
64 zadatku. Dalje postoji prazan red pre sledeceg automobila
65 u fajlu.
67 U datim primerima fajlova postoji samo nekoliko razlicitih
68 modela automobila, od kojih su neki cesci od drugih. Takodje
69 boje delova su obicno iz relativno malog skupa od 15-ak
70 boja, medju kojima su neke (npr bela i crna) cesce od
71 drugih.
Svarog.pmf.uns.ac.rs/gitweb maintanance Doni Pracner