wtorek, 10 marca 2015

Tydzień 3: tablice w Javie

Ćwiczenia

  1. Napisz fragment kodu, który wpisuje do tablicy liczb całkowitych kolejne cyfry rozwinięcia dziesiętnego liczby pi.
  2. Napisz funkcję fizzBuzz implementującą popularną anglosaską grę dla dzieci. Funkcja bierze jako argumenty dwie liczby całkowite a i b. Jako wynik funkcja zwraca tablicę napisów reprezentujących liczby od a do b, ale
    • jeśli dana liczba dzieli się przez 3, zamiast niej w tablicy ma być napis "Fizz";
    • jeśli dana liczba dzieli się przez 5, zamiast niej w tablicy ma być napis "Buzz";
    • jeśli dana liczba dzieli się przez 3 i przez 5, zamiast w niej w tablicy ma być napis "FizzBuzz".
    Podobno to zadanie jest popularne na rozmowach kwalifikacyjnych. (Moje osobiste doświadczenia tego nie potwierdzają.)
  3. Wygeneruj tablicę napisów długości 52, zawierającą nazwy wszystkich kart z talii. Jakie są możliwe podejścia do tego zadania?
  4. Dane są dwie tablice liczb całkowitych posortowane rosnąco. Traktujemy je jako reprezentacje dwóch zbiorów. Napisać fragment kodu w Javie, który wypisze na wyjście część wspólną
    obu zbiorów. 
  5. Dane są dwie tablice liczb całkowitych. Tablice reprezentują dwa wielomiany. Napisz fragment kodu w Javie, który policzy sumę tych wielomianów. Zadbaj o to, by rozmiar tablicy wynikowej był optymalny.
  6. Dana jest tablica dwuwymiarowa. Napisz fragment kodu w Javie, który zamieni tę tablicę w prawdziwą tablicę prostokątną. Elementy tablicy wejściowej, które są za krótkie powinny zostać uzupełnione zerami.
  7. Dane są dwie tablice prostokątne o takich samych wymiarach. Tablice reprezentują macierze. Napisz fragment kodu w Javie, który policzy sumę tych macierzy.
  8. Dane są dwie tablice kwadratowe o takich samych wymiarach. Tablice reprezentują macierze. Napisz fragment kodu w Javie, który policzy iloczyn tych macierzy.
  9. Dana jest tablica n na n wartości logicznych, reprezentująca graf znajomości między n osobami: zna[i][j] oznacza, że i-ta osoba zna j-ta osobę. Osobistość to osoba, którą każdy zna, ale ona nie zna nikogo. Sprawdzić, czy w danej tablicy jest jakaś osobistość.
  10. (Głosowanie większościowe) W tablicy n-elementowej są liczby z przedziału od 1 do k oznaczające głosy na kandydatów.  W głosowaniu zwycięża osoba, która dostała więcej niż n/2 głosów. Dla danej tablicy głosów wskazać zwycięzcę lub 0, gdy w głosowaniu nie ma zwycięzcy.

Laboratorium

  1. Skompiluj i uruchom w Eclipse program HelloWorld z poprzednich zajęć.
  2. Podepnij w Eclipse źródła Javy.
  3. Umieść program HelloWorld w pakiecie helloworld. Skompiluj i uruchom program:
    • z linii poleceń,
    • z Eclipse.
  4. Zadania z ćwiczeń.

Praca domowa nr 3

Do wyboru co najmniej dwa zadania spośród zadań 4-10 z ćwiczeń.

Rozwiązanie należy wysłać mailem. W temacie wiadomości powinien znaleźć się ciąg PO oraz numer pracy domowej (tutaj: 3). Pliki źródłówe powinny być spakowane zip-em. Nazwa pliku powinna zawierać imię i nazwisko autora.

Brak komentarzy:

Publikowanie komentarza