Интерфейс для геометрических фигур: вычисление площади и периметра
TypeScript
Средний
interfaces
Задача «Интерфейс для геометрических фигур: вычисление площади и периметра»
Создайте интерфейс Shape, который содержит методы getArea() и getPerimeter(), возвращающие число. Реализуйте классы Circle (принимает радиус) и Rectangle (принимает ширину и высоту), которые имплементируют этот интерфейс. Затем напишите функцию processShape, которая принимает массив фигур и выводит для каждой фигуры её площадь и периметр через пробел. Все входные данные читаются из stdin: сначала число n (количество фигур), затем n строк, каждая из которых начинается с типа фигуры ('circle' или 'rectangle'), за которым следуют параметры (радиус для круга, ширина и высота для прямоугольника). Выведите для каждой фигуры её площадь и периметр, округлённые до двух знаков после запятой, каждую пару на новой строке.
Формат ввода
Первая строка: целое число n (1 ≤ n ≤ 100). Далее n строк, каждая в формате: <тип> <параметры>. Для circle: radius (целое или вещественное). Для rectangle: width height (целые или вещественные).
Формат вывода
n строк, каждая содержит два числа через пробел: площадь и периметр, округлённые до двух знаков после запятой.
Примеры
Пример 1
ВВОД
2
circle 1
rectangle 0.5 0.5
ВЫВОД
3.14 6.28
0.25 2.00
Пример 2
ВВОД
5
1 1 2 3 3
ВЫВОД
1 2 2 1 3 2
main.ts