W ramach zadania należy wykorzystać funkcje wirtualne. W programach testujących należy wykorzystać klasy stworzone w ramach pierwszego zadania.



Podobne dokumenty
Programowanie obiektowe


Struktury. Przykład W8_1

Algorytmy i. Wykład 3: Stosy, kolejki i listy. Dr inż. Paweł Kasprowski. FIFO First In First Out (kolejka) LIFO Last In First Out (stos)

Wykład 5 Wybrane zagadnienia programowania w C++ (c.d.)

Lista, Stos, Kolejka, Tablica Asocjacyjna

Struktury danych: stos, kolejka, lista, drzewo

Programowanie i struktury danych 1 / 44

Dynamiczne struktury danych

Dynamiczny przydział pamięci w języku C. Dynamiczne struktury danych. dr inż. Jarosław Forenc. Metoda 1 (wektor N M-elementowy)

SYSTEMY CZASU RZECZYWISTEGO - VxWorks

Laboratorium z przedmiotu Programowanie obiektowe - zestaw 04

INFORMATYKA W SZKOLE. Podyplomowe Studia Pedagogiczne. Dr inż. Grażyna KRUPIŃSKA. D-10 pokój 227

Wstęp do programowania

Struktura danych. Sposób uporządkowania informacji w komputerze. Na strukturach danych operują algorytmy. Przykładowe struktury danych:

Listy, kolejki, stosy

Terminarz rozgrywek Ekstraklasy w sezonie 2016/2017

Struktury danych (I): kolejka, stos itp.

CENNIK ODZIEŻY OUTLET

Programowanie obiektowe

Kiedy potrzebne. Struktura (rekord) Struktura w języku C# Tablice struktur. struktura, kolekcja

Poradnik wyboru mieszkania

2. Klasy cz. 2 - Konstruktor kopiujący. Pola tworzone statycznie i dynamicznie - Funkcje zaprzyjaźnione - Składowe statyczne

Wstęp do Programowania potok funkcyjny

Wyjątki (exceptions)

E S - uniwersum struktury stosu

GUI - projektowanie interfejsów cz. II

Algorytmy i Struktury Danych. Anna Paszyńska

dr Adam Sojda Wykład Politechnika Śląska Badania Operacyjne Teoria kolejek

INFORMATYKA. Podstawy programowania w języku C. (Wykład) Copyright (C) 2005 by Sergiusz Sienkowski IME Zielona Góra

Microsoft Small Basic

1. Kalkulator czterech działań. 2. Konwersja ciągu znaków do tablicy.

Jerzy Nawrocki, Wprowadzenie do informatyki

Podstawy programowania w języku C++

Abstrakcyjne struktury danych - stos, lista, drzewo

Sortowanie. Bartman Jacek Algorytmy i struktury

Algorytmy i Struktury Danych.

(KOD CPV: Usługi szkolenia personelu)

EKONOMIA SŁUCHANIE (A2)

Struktury Danych i Złożoność Obliczeniowa

Przychodnia 0. Stwórz projekt aplikacja konsolowa lub WPF (przemyśl wybór, bo zmiana może być czasochłonna). 1. Stwórz abstrakcyjną klasę Osoba.

Algorytmy i struktury danych

Podstawy programowania w języku C++

Literatura. 1) Pojęcia: złożoność czasowa, rząd funkcji. Aby wyznaczyć pesymistyczną złożoność czasową algorytmu należy:

Planowanie przydziału procesora

dr inŝ. Jarosław Forenc

Elementy Modelowania Matematycznego

Programowanie obiektowe

Wstęp do programowania

Dodatkowo klasa powinna mieć destruktor zwalniający pamięć.

WYKŁAD 10. Zmienne o złożonej budowie Statyczne i dynamiczne struktury danych: lista, kolejka, stos, drzewo. Programy: c5_1.c, c5_2, c5_3, c5_4, c5_5

METODY INŻYNIERII WIEDZY

Programowanie obiektowe

Modele procesów masowej obsługi

Planowanie finansów osobistych

GOSPODARKA MAGAZYNOWA

Algorytmy i Struktury Danych.

C++ Przeładowanie operatorów i wzorce w klasach

Temat: Liniowe uporzdkowane struktury danych: stos, kolejka. Specyfikacja, przykładowe implementacje i zastosowania. Struktura słownika.

Język UML w modelowaniu systemów informatycznych

1. Liczby i w zapisie zmiennoprzecinkowym przedstawia się następująco

Szablony klas, zastosowanie szablonów w programach

Wstęp do programowania. Zastosowania stosów i kolejek. Piotr Chrząstowski-Wachtel

> C++ dynamiczna alokacja/rezerwacja/przydział pamięci. Dane: Iwona Polak. Uniwersytet Śląski Instytut Informatyki

METODY INŻYNIERII WIEDZY

Sortowanie danych. Jolanta Bachan. Podstawy programowania

Algorytmy i Struktury Danych.

Sprawozdanie do 5. Projektu z Algorytmów i struktur danych 1

Podstawowe struktury danych

Podstawy informatyki 2

Podstawy informatyki 2. Podstawy informatyki 2. Wykład nr 2 ( ) Plan wykładu nr 2. Politechnika Białostocka. - Wydział Elektryczny

1 Stos: Stack i Stack<T>

Wykład 4. Klasa List Kolejki Stosy Słowniki

kontrolowane przez jednostkę rzeczowe zasoby majątkowe, które powinny w przyszłości spowodować wpływ korzyści do jednostki

Struktura danych. Sposób uporządkowania informacji w komputerze. Na strukturach danych operują algorytmy. Przykładowe struktury danych:

Rejestracja bezpośrednia do grup odmiana z kolejką chętnych z uwzględnieniem rankingu

ARCHITEKTURA KOMPUTERÓW. Reprezentacja danych w komputerach

Narzędzia 2. dr inż. Tadeusz Jeleniewski

Programowanie w języku Java. Kolekcje

Wspomaganie Zarządzania Przedsiębiorstwem Laboratorium 02

Spis treści. I. Pascal

Podstawy programowania w języku C++

Kompletna dokumentacja kontenera C++ vector w -

Szczegółowy opis przedmiotu zamówienia

10.1 Szablony Szablony funkcji Szablony klas Szablony jako wstęp do biblioteki STL... 10

Algorytmy przeszukiwania

Zaawansowane programowanie w języku C++ Biblioteka standardowa

Test z wiedzy o społeczeństwie dla kl. II gimnazjum z działu: Człowiek i gospodarka

Modele i narzędzia optymalizacji w systemach informatycznych zarządzania

Kurs programowania. Wykład 9. Wojciech Macyna

P i t a g y r o s. S p a n a k o p i t a g r e c k i p r z y s m a k s z p i n a k o w o - s e r o w y p o d a w a n y n a c i e p ł o

Algorytmy i Struktury Danych

Eksploracja Danych. wykład 4. Sebastian Zając. 10 maja 2017 WMP.SNŚ UKSW. Sebastian Zając (WMP.SNŚ UKSW) Eksploracja Danych 10 maja / 18

Podstawy i języki programowania

Literatura TEORIA MASOWEJ OBSŁUGI TEORIA KOLEJEK. Teoria masowej obsługi. Geneza. Teoria masowej obsługi

Algorytmy i Struktury Danych. Co dziś? Drzewo decyzyjne. Wykład IV Sortowania cd. Elementarne struktury danych

INFORMATYKA W SZKOLE. Podyplomowe Studia Pedagogiczne. Dr inż. Grażyna KRUPIŃSKA. D-10 pokój 227

Menu. Stawka obowiązuje przy ilości Gości nie mniejszej niż 20

Moduł Usprawiedliwiania

Transkrypt:

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)