Zadanie 1. Utworzyć klasę wzorcową KOLEJKA typu FIFO (First In, First Out; pierwszy na wejściu, pierwszy na wyjściu), która będzie przechowywała obiekty różnych typów (klasa z zadania 1, nowa klasa oraz typy proste int, char, float). Należy stworzyć klasy dziedziczące po tej klasie (minimum 3): a) kolejka priorytetowa b) kolejka ważona c) kolejka losowa Klasa wzorcowa poza typem obiektu musi mieć następujące atrybuty: a) priorytet (w skali 1-5) b) wagę Klasa kolejka musi posiadać następujące metody: 1. wstawienie do kolejki 2. pobranie z kolejki 3. usunięcie z kolejki 4. sprawdzenie na którym miejscu aktualnie znajduje się nasz obiekt
Zadanie 2. Utworzyć klasę wzorcową STOS, która będzie przechowywała obiekty różnych typów (klasa z zadania 1, nowa klasa oraz typy proste int, char, float). Należy stworzyć klasy dziedziczące po tej klasie (minimum 3): a) stos priorytetowy b) stos ważony c) stos losowy Klasa STOS musi posiadać następujące metody: 1. wstawienie na stos (na samą górę) -> push() 2. pobranie ze stosu (z samej góry) -> pop() 3. usunięcie ze stosu 4. sprawdzenie na którym miejscu aktualnie znajduje się nasz obiekt
Zadanie 3. Treść zadania Utworzyć klasę wzorcową BUFOR typu LIFO (Last In, First Out; ostatni na wejściu, pierwszy na wyjściu), która będzie przechowywała obiekty różnych typów (klasa z zadania 1, nowa klasa oraz typy proste int, char, float). Należy stworzyć klasy dziedziczące po tej klasie (minimum 3): a) bufor priorytetowy b) bufor ważony c) bufor losowy Klasa BUFOR musi posiadać następujące metody: 1. wstawienie do bufora 2. pobranie z bufora 3. usunięcie z bufora 4. sprawdzenie na którym miejscu aktualnie znajduje się nasz obiekt
Zadanie 4. Utworzyć klasę wzorcową SEJF, która będzie przechowywała obiekty różnych typów (klasa z zadania 1, nowa klasa oraz typy proste int, char, float). Należy stworzyć klasy dziedziczące po tej klasie (minimum 3): a) sejf priorytetowy b) sejf ważony c) sejf losowy Sejf ma ograniczoną pojemność i po przepełnieniu przed wstawieniem następnego elementu należy usunąć jeden z elementów. Należy ustawić konfiguracyjnie maksymalną liczbę elementów w sejfie (np. 3). Przy wstawianiu 4 elementu każda klasa w zależności od swojego algorytmu musi usunąć z sejfu jakiś element (np. Sejf priorytetowy musi usunąć element najmniej priorytetowy). Usunięcie będzie powodowało zwrócenie tego elementu Klasa SEJF musi posiadać następujące metody: 1. wstawienie do sejfu 2. pobranie z sejfu 3. sprawdzenie czy dany obiekt jest w sejfie czy poza nim 4. sprawdzenie na którym miejscu w sejfie aktualnie znajduje się nasz obiekt
Zadanie 5. Utworzyć klasę wzorcową KOSZYK, która będzie przechowywała obiekty różnych typów (klasa z zadania 1, nowa klasa oraz typy proste int, char, float). Należy stworzyć klasy dziedziczące po tej klasie (minimum 3): a) koszyk priorytetowy b) koszyk ważony (cenowy) c) koszyk losowy Koszyk ma ograniczoną pojemność i po przepełnieniu przed wstawieniem następnego elementu należy usunąć jeden z elementów. Należy ustawić konfiguracyjnie maksymalną liczbę elementów w koszyku (np. 3). Przy wstawianiu 4 elementu każda klasa w zależności od swojego algorytmu musi usunąć z koszyka jakiś element (np. Koszyk priorytetowy musi usunąć element najmniej priorytetowy). Usunięcie będzie powodowało zwrócenie tego elementu Klasa KOSZYK musi posiadać następujące metody: 1. dodanie do koszyka 2. pobranie z koszyka 3. sprawdzenie czy dany obiekt jest w koszyku czy poza nim 4. sprawdzenie na którym miejscu w sejfie aktualnie znajduje się nasz obiekt
Zadanie 6. Utworzyć klasę wzorcową DOBYTEK, która będzie przechowywała obiekty różnych typów (klasa z zadania 1, pieniądze, domy, mieszkania, obligacje). Należy stworzyć klasy dziedziczące po tej klasie (minimum 3): a) dobytek priorytetowy b) dobytek ważony (cenowy) c) dobytek losowy Dobytek ma ograniczoną pojemność i po przepełnieniu przed wstawieniem następnego elementu należy usunąć jeden z elementów. Należy ustawić konfiguracyjnie maksymalną liczbę elementów dobytku (np. 3). Przy wstawianiu 4 elementu każda klasa w zależności od swojego algorytmu musi usunąć z dobytku jakiś element (np. Dobytek priorytetowy musi usunąć element najmniej priorytetowy). Usunięcie będzie powodowało zwrócenie tego elementu Klasa DOBYTEK musi posiadać następujące metody: 1. dodanie elementu do dobytku 2. pobranie z dobytku jakiegoś elementu 3. sprawdzenie czy dany obiekt dobytku jest w dobytku czy poza nim 4. sprawdzenie na którym miejscu w dobytku aktualnie znajduje się nasz obiekt
Zadanie 7. Utworzyć klasę wzorcową CATERING, która będzie przechowywała obiekty różnych typów (klasa z zadania 1, zupy, drugie dania, napoje, owoce, desery, alkohole). Należy stworzyć klasy dziedziczące po tej klasie (minimum 3): a) catering priorytetowy b) catering ważony (cenowy) c) catering losowy Catering ma ograniczoną pojemność ze względu na fakt wykorzystywaniu małego samochodu do transportu i po przepełnieniu przed wstawieniem następnego elementu należy usunąć jeden z elementów. Należy ustawić konfiguracyjnie maksymalną liczbę elementów w obiekcie catering (np. 3). Przy wstawianiu 4 elementu każda klasa w zależności od swojego algorytmu musi usunąć z cateringu jakiś element (np. Catering priorytetowy musi usunąć element najmniej priorytetowy). Usunięcie będzie powodowało zwrócenie tego elementu Klasa CATERING musi posiadać następujące metody: 1. dodanie elementu do cateringu 2. pobranie z cateringu jakiegoś elementu 3. sprawdzenie czy dany obiekt cateringu jest w cateringu czy poza nim 4. sprawdzenie na którym miejscu w cateringu aktualnie znajduje się nasz obiekt
Zadanie 8. Utworzyć klasę wzorcową BAGAZ, która będzie przechowywała obiekty różnych typów (klasa z zadania 1, spodnie, koszulki, bieliznę, kurtki). Należy stworzyć klasy dziedziczące po tej klasie (minimum 3): a) bagaż priorytetowy b) bagaż ważony (cenowy) c) bagaż losowy Bagaż ma ograniczoną pojemność i po przepełnieniu przed wstawieniem następnego elementu należy usunąć jeden z elementów. Klasa BAGAŻ musi posiadać następujące metody: 1. dodanie elementu do bagażu 2. pobranie z bagażu jakiegoś elementu 3. sprawdzenie czy dany obiekt jest w bagażu czy poza nim 4. sprawdzenie na którym miejscu w bagażu aktualnie znajduje się nasz obiekt
Zadanie 9. Utworzyć klasę wzorcową KONTENER, która będzie przechowywała obiekty różnych typów (klasa z zadania 1, stworzone 3 klasy dodatkowe). Należy stworzyć klasy dziedziczące po tej klasie (minimum 3): a) kontener priorytetowy b) kontener ważony (cenowy) c) kontener losowy Kontener ma ograniczoną pojemność i po przepełnieniu przed wstawieniem następnego elementu należy usunąć jeden z elementów. Klasa KONTENER musi posiadać następujące metody: 1. dodanie elementu do kontenera 2. pobranie elementu 3. sprawdzenie czy dany obiekt jest w kontenerze czy poza nim 4. sprawdzenie na którym miejscu w kontenerze aktualnie znajduje się nasz obiekt
Zadanie 10. Utworzyć klasę wzorcową DEWELOPER. Klasa wzorcowa będzie przechowywała następujące typy budynków: a) mieszkania b) domy c) magazyny d) sklepy Do każdego typu budynku należy stworzyć osobną klasę z podstawowymi metodami. Należy stworzyć klasy dziedziczące po klasie DEWELOPER: a) mały deweloper (buduje ograniczoną liczbę budynki na raz) b) deweloper spekulacyjny (buduje wszystko, ale często wycofuje się podczas realizacji projektu) Klasa DEWELOPER musi posiadać następujące metody: 1. dodanie elementu do dewelopera 2. pobranie budynku 3. sprawdzenie czy dany budynek jest u danego dewelopera czy poza nim 4. sprawdzenie na którym miejscu u dewelopera aktualnie znajduje się nasz obiekt Każdy z deweloperów ma ograniczone możliwości co do budowania budynków. Przy wstawianiu elementu, który jest już poza możliwościami dewelopera w zależności od typu dewelopera musi zostać wykona jedna z następujących akcji: a) informacja - Nie możemy wybudować tego budynku (mały deweloper) b) prośba o wybranie budynku do usunięcia z listy do budowy (deweloper spekulacyjny)
Zadanie 11. Utworzyć klasę wzorcową KOMIS. Klasa wzorcowa będzie przechowywała następujące typy: a) samochody b) obrazy c) rowery d) biżuterię Do każdego typu obiektu należy stworzyć osobną klasę z podstawowymi metodami. Należy stworzyć klasy dziedziczące po klasie KOMIS: a) mały komis (może trzymać ograniczoną liczbę rzeczy w jednej chwili czasu) b) komis spekulacyjny (skupuje wszystko, ale często sprzedaje część rzeczy) Klasa KOMIS musi posiadać następujące metody: 1. dodanie elementu 2. pobranie elementu 3. sprawdzenie czy dany element jest w danym komisie czy nie 4. sprawdzenie na którym miejscu u komisie aktualnie znajduje się nasz obiekt Każdy z komisów ma ograniczone możliwości co do kupowania rzeczy. Przy wstawianiu elementu, który jest już poza możliwościami komisu w zależności od typu komisu musi zostać wykona jedna z następujących akcji: a) informacja - Nie możemy kupić tej rzeczy (mały komis) b) prośba o wybranie obiektu do usunięcia z listy w komisie (tj. Do szybkiego sprzedania (komis spekulacyjny)
Zadanie 12. Utworzyć klasę wzorcową KOLEKCJONER. Klasa wzorcowa będzie przechowywała następujące typy: a) samochody b) obrazy c) rowery d) biżuteria e) pieniądze Do każdego typu obiektu należy stworzyć osobną klasę z podstawowymi metodami. Należy stworzyć klasy dziedziczące po klasie KOLEKCJONER: a) mały kolekcjoner (może trzymać ograniczoną liczbę rzeczy w jednej chwili czasu) b) kolekcjoner spekulacyjny (kupuje wszystko, ale często sprzedaje część rzeczy) Klasa KOLEKCJONER musi posiadać następujące metody: 1. dodanie elementu 2. pobranie elementu 3. sprawdzenie czy dany element jest u danego kolekcjonera czy nie 4. sprawdzenie na którym miejscu u kolekcjonera aktualnie znajduje się nasz obiekt Każdy z kolekcjonerów ma ograniczone możliwości co do kupowania rzeczy. Przy wstawianiu elementu, który jest już poza możliwościami kolekcjonera w zależności od typu kolekcjonera musi zostać wykona jedna z następujących akcji: a) informacja - Nie możemy kupić tej rzeczy (mały kolekcjoner) b) prośba o wybranie obiektu do usunięcia z listy w naszych zasobach (tj. Do szybkiego sprzedania (kolekcjoner spekulacyjny)
Zadanie 13. Utworzyć klasę wzorcową HURTOWNIA. Klasa wzorcowa będzie przechowywała następujące typy: a) pomarańcze b) mleko c) chleb d) cukierki e) mąka Do każdego typu obiektu należy stworzyć osobną klasę z podstawowymi metodami. Należy stworzyć klasy dziedziczące po klasie HURTOWNIA: a) mały hurtownia (może trzymać ograniczoną liczbę rzeczy w jednej chwili czasu) b) duża hurtownia (kupuje wszystko, ale często sprzedaje część rzeczy) Klasa HURTOWNIA musi posiadać następujące metody: 1. dodanie elementu 2. pobranie elementu 3. sprawdzenie czy dany element jest w danej hurtowni czy nie 4. sprawdzenie na którym miejscu u hurtowni aktualnie znajduje się nasz obiekt Każda z hurtowni ma ograniczone możliwości co do magazynowania rzeczy. Przy wstawianiu elementu, który jest już poza możliwościami składowymi hurtowni w zależności od typu hurtowni musi zostać wykona jedna z następujących akcji: a) informacja - Nie możemy kupić tej rzeczy (mały hurtownia) b) prośba o wybranie obiektu do usunięcia z listy w naszych zasobów (tj. Do szybkiego sprzedania (duża hurtownia)
Zadanie 14. Treść zadania Utworzyć klasę wzorcową ZADANIE typu LIFO (Last In, First Out; ostatni na wejściu, pierwszy na wyjściu), która będzie przechowywała obiekty różnych typów (zadaniedom, zadaniestudia, zadaniepraca). Należy stworzyć klasy dziedziczące po tej klasie (minimum 3): a) zadanie priorytetowe b) zadanie ważone c) zadanie losowe Klasa wzorcowa poza typem obiektu musi mieć następujące atrybuty: a) priorytet (w skali 1-5) b) wagę Klasa ZADANIE musi posiadać następujące metody: 5. wstawienie do bufora 6. pobranie z bufora 7. usunięcie z bufora 8. sprawdzenie na którym miejscu aktualnie znajduje się nasze zadanie w buforze
Zadanie 15. Utworzyć klasę wzorcową MAKLER. Klasa wzorcowa będzie przechowywała następujące produkty pieniężne: a) akcje b) zakłady c) bony d) opcje walutowe Do każdego produktu należy stworzyć osobną klasę z podstawowymi metodami. Należy stworzyć klasy dziedziczące po klasie MAKLER: a) makler typu student (ma ograniczone fundusze; kupuje mało i na dłuższy czas) b) makler spekulacyjny (kupuje wszystko, ale również ma ograniczone fundusze i w przypadku braku funduszy sprzedaje inne produkty) Klasa MAKLER musi posiadać następujące metody: 1. dodanie produktu 2. pobranie produktu 3. sprawdzenie czy dany produkt jest u danego maklera czy poza nim 4. sprawdzenie na którym miejscu u maklera aktualnie znajduje się nasz obiekt Każdy z maklerów ma ograniczone możliwości co do budowania budynków. Przy wstawianiu elementu, który jest już poza możliwościami maklera w zależności od typu maklera musi zostać wykona jedna z następujących akcji: a) informacja - Nie możemy kupić danego produktu brak środków (makler typu student ) b) prośba o wybranie produktu do sprzedaży z listy (makler spekulacyjny)