poj-2007-2008-summer-pl.pdf

(186 KB) Pobierz
11660139 UNPDF
Revision:1.2
Date:2008/03/3010:02:47
R EVISION
C HANGELOG
Contents
1 Wprowadzenie
3
1.1 Zasady oceny . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3
2 Zadania
4
2.1 Zadanie I (termin oddania: 29/30 marca 2008) . . . . . . . . . . . . . . . . . . . . . . .
4
2.1.1 Serwis samochodowy: budowa klas (zadanie podstawowe: 10 pkt) . . . . . . . .
4
2.2 Zadanie II (termin oddania: 29/30 marca 2008) . . . . . . . . . . . . . . . . . . . . . .
7
2.2.1 Sporz adzenie listy płac (zadanie podstawowe: 10 pkt) . . . . . . . . . . . . . .
7
2.2.2 Uwzglednienie regulacji prawnych w zakresie prawa pracy oraz 6-gozinnej zmi-
any sobotniej (zadanie dodatkowe: 15 pkt) . . . . . . . . . . . . . . . . . . . .
8
2.3 Zadanie III (termin oddania: 12/13 kwietnia 2008) . . . . . . . . . . . . . . . . . . . .
9
2.3.1 Salon sprzedazy i komis (zadanie podstawowe: 10 pkt) . . . . . . . . . . . . . .
9
2.3.2 Kontrola realizacji procesu sprzedazy samochodu uzywanego (zadanie dodatkowe:
10 pkt) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.4 Zadanie IV (termin oddania: 12/13 kwietnia 2008) . . . . . . . . . . . . . . . . . . . . 11
2.4.1 Symulacja dnia pracy warsztatu samochodowego (zadanie podstawowe: 20 pkt) . 11
2.4.2 Symulacja uwzgledniaj aca bardziej złozony zestaw reguł (zadanie dodatkowe:
30 pkt) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.5 Zadanie V (termin oddania: 26/27 kwietnia 2008) . . . . . . . . . . . . . . . . . . . . . 12
2.5.1 Trwałosc danych w oparciu o szeregowalnosc (zadanie podstawowe: 10 pkt) . . 12
2.5.2 Utrwalanie stanu w postaci pliku tekstowego o okreslonej składni (zadanie do-
datkowe: 25 pkt) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.6 Zadanie VI (termin oddania: 26/27 kwietnia 2008) . . . . . . . . . . . . . . . . . . . . 14
2.6.1 Posortowane kolekcje (zadanie podstawowe: 10 pkt) . . . . . . . . . . . . . . . 14
2.6.2 Mapy oraz kolekcje posortowane wzgledem alternatywnych kryteriów (zadanie
rozszerzone: 15 pkt) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.6.2.1 Mapy (5 pkt) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.6.2.2 Alternatywne sortowanie kolekcji (10 pkt) . . . . . . . . . . . . . . . 14
2.7 Zadanie VII (termin oddania: 17/18 maja 2008) . . . . . . . . . . . . . . . . . . . . . . 15
c E DGAR G ŁOWACKI
CONTENTS
2
2.7.1 Obracaj acy sie wykres kołowy (zadanie podstawowe: 10 pkt) . . . . . . . . . . 15
2.7.2 Legenda wykresu oraz statystyka symulacji (zadania rozszerzone: 25 pkt) . . . . 16
2.7.2.1 Legenda wykresu (15 pkt) . . . . . . . . . . . . . . . . . . . . . . . . 16
2.7.2.2 Statystyka symulacji pracy warsztatu (10 pkt) . . . . . . . . . . . . . 16
2.8 Zadanie VIII (termin oddania: 17/18 maja 2008) . . . . . . . . . . . . . . . . . . . . . . 17
2.8.1 Wielobarwne prymitywy (figury) geometryczne (zadanie podstawowe: 10 pkt) . 17
2.8.2 Obracaj ace sie prymitywy graficzne, układanka (zadania rozszerzone: 20 pkt) . . 18
2.8.2.1 Obracaj ace sie prymitywy graficzne (10 pkt) . . . . . . . . . . . . . . 18
2.8.2.2 Układanka (10 pkt) . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
2.9 Zadanie IX (termin oddania: 31 maja/1 czerwca 2008) . . . . . . . . . . . . . . . . . . 19
2.9.1 Uciekaj ace sie przyciski (zadanie podstawowe: 10 pkt) . . . . . . . . . . . . . . 19
2.9.2 Walidacja danych wprowadzanych przez uzytkownika (zadanie rozszerozne: 20
pkt) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.10 Zadanie X (termin oddania: 14/15 czerwca 2008) . . . . . . . . . . . . . . . . . . . . . 21
2.10.1 Panel z zakładkami umozliwiaj acy przegl adanie rózne rodzaje rekordów (zadanie
podstawowe: 10 pkt) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.10.2 Utrwalanie zaznaczonego fragmentu panelu oraz paskki narzedzi (zadanie rozsz-
erzone: 25 pkt) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.10.2.1 Zapis zaznaczonego fragmentu panelu głównego aplikacji w pliku (15
pkt) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.10.2.2 Paski narzedziowe (10 pkt) . . . . . . . . . . . . . . . . . . . . . . . 22
2.11 Zadanie XI (termin oddania: 28/29 czerwca 2008) . . . . . . . . . . . . . . . . . . . . . 23
2.11.1 Wzajemnie powi azane listy pojazdów i ich włascicieli (30 pts) . . . . . . . . . . 23
c E DGAR G ŁOWACKI
11660139.002.png
3
1 Wprowadzenie
1.1 Zasady oceny
1. Rozwi azanie kazdego zadania podstawowego dostarczone przed upływem terminu oddania bedzie
oceniane na maksymalnie 10 punktów;
2. Maksymalna liczba punktów mozliwa do uzyskania za wykonanie zadania dodatkowego bedzie
zalezna od stopnia trudnosci konkretnego zadania;
3. Z chwil a rozpoczecia pierwszego tygodnia po terminie oddania (tj. we wtorek) maksymalna
liczba punktów mozliwa do uzyskania za wykonanie zadania (zarówno podstawowego, jak i do-
datkowego) zostanie pomniejszona o 10%. Po upływie kazdego kolejnego tygodnia (licz ac od
terminu oddania) liczba ta zostanie zredukowana o kolejne 20%, az do osi agniecia 50% wartosci
pocz atkowej.
3 35%–44% (maksymalnej liczby punktów),
3.5
45%–60%,
Oceny:
4
61%–75%,
4.5
76%–89%
5
90%–100%
Kazdy ze studentów jest zobowi azany dostarczyc rozwi azanie zada n dotycz acych nastepuj acych zagad-
nie n:
budowa klas ( 2.1.1 );
polimorfizm ( 2.2 );
implementacja interfejsów ( 2.3 );
strumienie ( 2.5.1 );
kolekcje ( 2.6.1 );
tworzenie aplikacji posiadaj acej prosty interfejs graficzny (ang. graphical user interface ) ( ?? ).
c E DGAR G ŁOWACKI
11660139.003.png
4
2 Zadania
2.1 Zadanie I (termin oddania: 29/30 marca 2008)
2.1.1 Serwis samochodowy: budowa klas (zadanie podstawowe: 10 pkt)
Korzystaj ac z konstrukcji dostepnych w jezyku Java TM
stwórz reprezentacje bytów, z którymi mozna
sie zetkn ac w serwisie samochodowym.
Autoserwis obsługuje cztery rodzaje pojazdów: (1) motycykle (ang. motorbikes ), (2) samochody os-
obowe (posiadaj ace nie wiecej niz szesc miejsc siedz acych) (ang. passenger vehicles ), (3) tzw. SUV-y
(ang. sports utility vehicles ), (4) furgonetki (ang. pickup trucks ).
Kazdy pojazd jest opisywany nastepuj acymi atrybutami:
producent,
model,
data produkcji,
pojemnosc silnika,
moc silnika (podana w koniach mechanicznych),
numer rejestracyjny,
własciciel pojazdu, którym moze byc (1) jedna lub wiecej osób fizycznych, or (2) firma posiada-
j aca podmiotowosc prawn a.
Dodatkowo samochód charakteryzuje sie:
liczb a miejsc siedz acych,
rozmiar felg (podany w calach),
czy samochód został wyposazony w felgi aluminiowe czy stalowe,
rodzaj opon (wymiary opon, np. 175/65R14 1 ),
pojemnosc bagaznika (w cm 3 ),
czy samochód jest wyposazony w automatyczn a skrzynie biegów.
Dodatkowo kazdy sachód osobowy moze posiadac: system zabezpieczaj acy przed blokowaniem kół
w trakcie hamowania (ABS — Anti-lock Braking System), system kontroli antyposlizgowej (ASR —
Acceleration Skid Control).
Dane dotycz ace furgonetki powinny obejmowac dodatkowo: (1) rozmiary skrzyni, oraz (2) informacje,
czy samochód został wyposazony w naped na cztery koła.
Zakładamy, ze kazdy pojazd typu SUV posiada naped obydwu osi.
1 pierwsza liczba (175) oznacza szerokosc przekroju opony, druga (65) jest tzw. profilem, b adz wskaznikiem przekroju
opony oznaczaj acym procentowy stosunek wysokosci opony do jej szerokosci, liczba poprzedzona liter a R okresla wewnetrzn a
srednice osadzenia opony — czyli srednice felgi mierzon a w calach
c E DGAR G ŁOWACKI
11660139.004.png
 
2.1 Zadanie I (termin oddania: 29/30 marca 2008)
5
Rejestrowane dane produdenta obejmuj a: (1) nazwe, oraz (2) dane teleadresowe (adres, numery tele-
fonów) w Polsce.
Jak wspomniano samochód moze byc własnosci a: (1) osób fizycznych, lub (2) podmiotów posiadaj a-
cych osobowosc prawn a.
Dane osoby fizycznej obejmuj a: (1) imie, (2) nazwisko, oraz (3) dane teleadresowe. Dane o przed-
siebiorstwie bed acym włascicielem samochodu powinny obejmowac: (1) nazwe, (2) NIP (Numer Iden-
tyfikacji Podatkowej).
PODPOWIED Z: Rozwi azanie powinno obejmowac klasy reprezentuj ace: (1) pojazd, (2) motocykl, (3)
samochód, (4) samochód osobowy, (5) furgonetke, (6) SUV, (7) klienta indywidualnego (osobe fizyczn a),
(8) klienta korporacyjnego (osobe prawn a).
Podczas tworzenia rozwi azania nalezy pamietac o:
1. zapewnieniu hermetyzacji (ang. encapsulation ) danych w ramach poszczególnych klas;
2. dostarczeniu metody toString() prezentuj acej zawartosc instancji (obiektu) klasy. Metoda
toString() jest wykorzystywana w trakcie rzutowania obiektu danej klasy na obiekt klasy
java.lang.String . Metoda toString() powinna prezentowac zawartosc instancji danej
klasy zgodnie z nastepuj acym formatem:
<class-name> {
<attribute-name>: <attribute-value>[, <attribute-value>, ...]
}
W przypadku gdy obiekt zawiera referencje do innych obiektów metoda toString() powinna byc
wywoływana rekurencyjnie (z uwzglednieniem zabezpieczenia przed przepełnieniem stosu).
<class-name> {
...
<attribute-name>:
<class-name> {
<attribute-name>: <attribute-value>[, <attribute-value, ...]
}
}
Przykładowo efekt wywołania metody toString() na rzecz obiektu reprezentuj acego motocykl marki
B AYERISCHE M OTOREN W ERKE AG, którego włascicielem jest Jan Kowalski mógłby byc nastepj acy:
Motorbike {
manufacturer: Manufactuer { Bayerische Motoren Werke AG, address },
model: R 1150 RT,
year of manufacture: 2004,
engine capacity: 1130cc,
engine performance: 71kW,
registration number: WI 12345,
vehicle owner: Owner { Jan Kowalski, address, phone number }
}
Metoda main() powinna:
c E DGAR G ŁOWACKI
11660139.001.png
Zgłoś jeśli naruszono regulamin