eolymp
Соревнования

PP2. Week 7: April 19 - 25

Java Geometric Object

Лимит времени 1 секунда
Лимит использования памяти 128 MiB

Напишите программу согласно следующей UML диаграммы:

  • Напишите интерфейс GeometricObject с двумя методами: getParameter() и getArea();

  • Напишите класс Circle с protected переменной radius, который реализует интерфейс GeometricObject;

  • Напишите класс ResizableCircle как подкласс класса Circle, который реализует интерфейс Resizable. Интерфейс Resizable содержит метод resize(), который модифицирует размер (размер в нашем случае) на заданное число процентов. Напишите интерфейс Resizable и класс ResizableCircle;

  • Напиите программу, которая протестирует методы в ResizableCircle.

Выполните следующие инструкции:

  • Area - выведите площадь круга;

  • Perimeter - выведите длину окружности;

  • Resize percent - измените радиус окружности на заданное количество процентов;

Изначально радиус круга равен 1.

Изменение на 50 процентов уменьшает радиус вдвое. Изменение на 200 процентов увеличивает радиус вдвое.

Входные данные

Каждая строка содержит одну из инструкций:

  • Area

  • Perimeter

  • Resize процент

Выходные данные

Выведите ответ для каждой инструкции.

Пример

Входные данные #1
Area
Perimeter
Resize 50
Area
Perimeter
Выходные данные #1
3.141593
6.283185
0.785398
3.141593
Автор Михаил Медведев