Lista zadań na zajęcia, semestr letni 2013/2014, zestaw IX Metody

Transkrypt

Lista zadań na zajęcia, semestr letni 2013/2014, zestaw IX Metody
Lista zadań na zajęcia, semestr letni 2013/2014, zestaw IX
Metody abstrakcyjne, tablice
Przemysław Krysztowiak, [email protected]
Zadanie 1. Napisz abstrakcyjną klasę o nazwie TablicaSortujaca, która zawiera:
a) chronioną tablicę int-ów o nazwie dane,
b) chronione: stałą o nazwie RozmiarM równą 1000 oraz zmienną o nazwie Rozmiar (obie typu int),
c) publiczny konstruktor bezargumentowy, który ustawia zmienną Rozmiar na zero oraz przydziela
pamięć dla tablicy dane (RozmiarM elementów).
Klasa ta będzie służyła do sortowania przechowywanych liczb.
Zadanie 2. Do klasy TablicaSortujaca dodaj publiczną, finalną metodę o nazwie DodajElement, która
wpisuje przekazaną liczbę do tablicy dane na pozycji Rozmiar oraz zwiększa Rozmiar o 1.
(a) Jeśli w tablicy jest już RozmiarM liczb, to zamiast dodawać nową liczbę, należy wyrzucić wyjątek.
Zadanie 3. Do klasy TablicaSortujaca dodaj publiczny konstruktor, który jako argumenty przyjmuje
dowolnie dużo int-ów. Każdy z nich należy dodać do tablicy dane metodą DodajElement.
(a) Konstruktor ten powinien najpierw wywołać konstruktor bezargumentowy, żeby zainicjalizować
pamięć.
Zadanie 4. Do klasy TablicaSortujaca dodaj publiczny konstruktor kopiujący, który najpierw wywołuje konstruktor bezargumentowy, a następnie kopiuje wartość zmiennej Rozmiar oraz całą tablicę liczb
(używając Arrays.copyOf).
Zadanie 5. W klasie TablicaSortujaca zaimplementuj metodę toString() tak, by zwracała wszystkie
liczby z tablicy dane, oddzielone spacjami.
Zadanie 6. Do klasy TablicaSortujaca dodaj publiczną, abstrakcyjną metodę o nazwie Posortuj, bezargumentową.
Zadanie 7. Napisz podklasę klasy TablicaSortujaca o nazwie TablicaSortujacaDomyslna, ktora:
(a) w publicznych konstruktorach (z takimi samymi argumentami, jak nadklasa) wywołuje odpowiednie konstruktory nadklasy,
(b) zawiera implementację metody Posortuj, działającą w oparciu o metodę Arrays.sort.
Zadanie 8. Napisz podklasę klasy TablicaSortujaca o nazwie TablicaSortujacaPrzezWybieranie, która:
(a) w publicznych konstruktorach (z takimi samymi argumentami, jak nadklasa) wywołuje odpowiednie konstruktory nadklasy,
(b) zawiera implementację metody Posortuj, z użyciem algorytmu sortowania przez wybieranie (uwaga,
pseudokod numeruje elementy od 1 do n, a my od 0 do Rozmiar-1).
SelectionSort(A)
for j := 1 to n - 1
smallest := j;
for i := j + 1 to n
if A[i] < A[smallest] then
smallest := i;
zamień A[j] z A[smallest];
Wyrażam zgodę na drukowanie przez studentów i pracowników WMiI UMK treści zawartej w niniejszym pliku.

Podobne dokumenty