Seminář 2 (Úkoly)
Úkol č.1
Implementujte třídu Point představující bod v rovině určený dvěma souřadnicemi.
V tříde Point implementujte metodu double distance(Point p) vracející vzdálenost od daného bodu.
Úkol č.2
Implentujte třídu Line představující úsečku. Implementujte metody: double getLength() a double distance(Point p). Vzdálenost bodu od úsečky berte v tomto případě jako nejmenší vzdálenost mezi bodem a všemi body ležícími na úsečce.
Úkol č.3
Implementujte třídu Rectangle představující obdélník, který má strany vodorovné s osami X a Y. Třída by měla mít dva konstruktory, jeden vytvářející obdélník pomocí dvou bodů, další vytvářející obdélník na základě bodu, výšky a šířky.
Implementujte metodu double getArea() vracející obsah daného obrazce.
Implementujte metodu double distance(Point p) vracející vzdálenost od daného bodu. Vzdálenost bodu od obdélníku berte v tomto případě jako nejmenší vzdálenost mezi bodem a všemi body ležícími na stranách obdélníku.
Úkol č.4
Implementujte třídu Square představující čtverec. Třída by měla mít konstruktor vytvářející objekt na zákládě souřadnice a délky strany.
Implementujte metodu double getArea().
Implementujte metodu double distance(Point p) vracející vzdálenost od daného bodu.
Úkol č.5
Implementujte třídu Circle představující kružnici. Třída by měla mít konstruktor vytvářející objekt na zákládě souřadnice a poloměru.
Implementujte metodu double getArea().
Implementujte metodu double distance(Point p) vracející vzdálenost od daného bodu. Vzdálenost bodu od kružnice berte v tomto případě jako nejmenší vzdálenost mezi bodem a všemi body ležícími na kružnici. Vzdálenost nemůže mít zápornou hodnotu!
Úkol č.6
Vytvořte třídu IntList, která bude představovat jeden uzel spojového seznamu s čísly typu int. Navrhňete vhodné atributy a kontruktor(y). Předpokládejte, že null představuje prázdný seznam. Třída IntList by měla obsahovat metodu void printList(), která vypíše hodnoty v seznamu a metodu int size() vracející délku seznamu. Vytvořte seznam minimálně o třech prvcích a vypište jej.
Poznámky
- Pro výpočet druhé mocniny použijte metodu
Math.sqrt(double). - Zatím nepoužívejte dědičnost ani rozhraní. Pokud tyto pojmy neznáte, tuto poznámku ignorujte.