Интерфейс для геометрических фигур: вычисление площади и периметра

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