28
mar
08

przykład klas strumieniowych

Zadanie 1:
Zadeklaruj klasę IntStream implementującą strumień liczb naturalnych, która implementuje metody:

int next();
bool eos();
void reset();

gdzie kolejne wywołania metody next() zwracają kolejne liczby naturalne począwszy od zera, wartość metody eos() oznacza koniec strumienia, a resest() inicjuje na nowo strumień. Zadeklaruj dwie podklasy:

  • PrimeStream implementującą strumień liczb pierwszych, tj. wartościami kolejnych wywołań metody next() są kolejne liczby pierwsze. Oczywiście ze względu na ograniczony rozmiar typu int możliwe jest jedynie zwrócenie liczb pierwszych mniejszych niż rozmiar typu. Gdy nie jest możliwe obliczenie kolejnej liczby pierwszej, wartość eos() powinna być true.
  • klasę RandomStream, w której metoda next() zwraca liczby losowe. W takim wypadku eos() jest zawsze fałszywe. Wykorzystaj te klasy do implementacji klasy RandomWordStream realizującej strumień losowych słów o długościach równych kolejnym liczbom pierwszym.

Przykład: klik

Zadanie 4.
Zdefiniuj klasę ListaLeniwa implementującą leniwe listy całkowite wraz z metodą

int element(int i);

zwracającą i-ty element listy. ”Leniwość” takiej listy polega na tym, że na początku jest ona pusta, jednak w trakcie wywołania metody element(100) budowanych jest pierwszych sto elementów. Gdy wywołamy element(102) do listy dopisywane są brakujące dwa elementy. Zaimplementuj podklasę Pierwsze zawierającą listę liczb pierwszych, tj. element(i) zwraca i-tą liczbą pierwszą.

Przykład: klik


0 Odpowiedzi do “przykład klas strumieniowych”


  1. Brak komentarzy

Napisz odpowiedź




λ!

Mój aktualny plan
Moja niby strona
Moja nasza-klasa

Kategorie

 

marzec 2008
P W Ś C P S N
« lut   kwi »
 12
3456789
10111213141516
17181920212223
24252627282930
31