środa, 22 marca 2017

Tydzień 4: klasy

Ćwiczenia

  1. Zdefiniuj klasę Pracownik (podobnie do klasy Osoba z wykładu, dodając jeszcze tekstową informację o zajmowanym przez pracownika stanowisku). Następnie zdefiniuj klasę Firma, która przechowuje w tablicy spis wszystkich pracowników (możesz założyć, że liczba pracowników nie przekracza 100). Zdefiniuj metody dodawania nowych pracowników do firmy oraz wypisywania aktualnego spisu pracowników. Zastanów się, jak przy tym ostatnim zadaniu rozdzielić odpowiedzialności pomiędzy obie klasy.
  2. Zaimplementuj liczby całkowite dowolnego rozmiaru. Operacje do zaimplementowania: dodawanie, odejmowanie, mnożenie przez liczbę typu int, tworzenie.

Laboratorium

  1. (Przeniesione z ćwiczeń) Zaimplementuj liczby całkowite dowolnego rozmiaru. Operacje do zaimplementowania: dodawanie, odejmowanie, mnożenie przez liczbę typu int, tworzenie.
  2. Utwórz klasę Ulamek reprezentującą ułamek zwykły. Klasa ma udostępniać operacje dodawania, odejmowania, mnożenia, dzielenia oraz wypisywania ułamków (metoda toString()). Ułamki powinny być przechowywane w postaci uproszczonej (zadbaj o to w konstruktorze). W innej klasie napisz program, który wczyta 10 ułamków ze standardowego wejścia, a następnie policzy ich sumę oraz iloczyn.
  3. Bitwa robotów wojennych odbywa się na polu bitwy reprezentowanym przez planszę o rozmiarze 8 na 8. Uczestniczą w niej dwa roboty, których celem jest zniszczenie się nawzajem.
    Początkowo roboty ustawione są tak, jak na poniższym diagramie, gdzie 'vA' oraz '^B' reprezentują roboty A i B skierowane odpowiednio na południe (v) i na północ (^).
     _ _ _ _ _ _ _ _
     _ _ _ vA_ _ _ _
     _ _ _ _ _ _ _ _
     _ _ _ _ _ _ _ _
     _ _ _ _ _ _ _ _

     _ _ _ _ _ _ _ _

     _ _ _ _ ^B_ _ _

     _ _ _ _ _ _ _ _


    a) Utwórz klasy Plansza, PolePlanszy, Robot, Kierunek. Zaimplementuj metody odpowiedzialne za wypisywanie aktualnego stanu planszy. Pamiętaj, żeby we właściwy sposób podzielić odpowiedzialności między klasami.
    b) W każdej turze gry każdy robot wykonuje losowo obrót w prawo lub obrót w lewo. Napisz program, który symuluje 5 tur gry. Program powinien wypisywać stan planszy po zakończeniu każdej tury.

Praca domowa nr 4

Do wyboru: zadanie 1, zadanie 2 lub zadanie 3.

  • Rozwiązanie w należy wysłać mailem na adres kozubek (at) mimuw.edu.pl. 
  • Rozwiązanie powinno mieć postać jednego pliku. Jeśli chcemy wysłać kilka plików, należy spakować jezip-em. Nazwa pliku powinna zawierać imię i nazwisko autora, np. JanKowalski.zip.
  • Temat wiadomości to PO4.