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í obdelník, který má strany vodorovné s osami X a Y. Třída by měla mít dva konstruktory, jeden vytvářející obdelník pomocí dvou bodů, další vytvářející obdelní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 obdelníku berte v tomto případě jako nejmenší vzdálenost mezi bodem a všemi body ležícími na stranách obdelní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

Třídy z předchozích příkladů upravte tak, aby se díky kompozici a dědičnosti omezila redundance kódu. Pokud to má opodstatnění, použijte rozhraní.

Způsob odevzdání

Vyřešené úkoly zašlete do 8.10.2013 17:00 CET na email petr.krajca (zavináč) upol.cz s předmětem ZP3JV. Zasílejte pouze zdrojové kódy a to ve stavu, který odpovídá vyřešenému úkolu č.6.


Last update on 1. 10. 2014 16:27
Powered by Schemik.

© Petr Krajča, 2010, 2012
petr.krajca (at) upol.cz