Interfaz para figuras geométricas: cálculo de área y perímetro

TypeScript Medium interfaces

Tarea «Interfaz para figuras geométricas: cálculo de área y perímetro»

Cree una interfaz Shape que contenga los métodos getArea() y getPerimeter(), que devuelvan un número. Implemente las clases Circle (recibe el radio) y Rectangle (recibe el ancho y la altura), que implementen esta interfaz. Luego, escriba la función processShape, que recibe un arreglo de figuras y muestra para cada figura su área y perímetro separados por un espacio. Todos los datos de entrada se leen desde stdin: primero un número n (cantidad de figuras), luego n líneas, cada una comienza con el tipo de figura ('circle' o 'rectangle'), seguido de los parámetros (radio para el círculo, ancho y altura para el rectángulo). Muestre para cada figura su área y perímetro, redondeados a dos decimales, cada par en una nueva línea.

Formato de entrada

Primera línea: un número entero n (1 ≤ n ≤ 100). Luego n líneas, cada una en el formato: <tipo> <parámetros>. Para circle: radius (entero o real). Para rectangle: width height (enteros o reales).

Formato de salida

n líneas, cada una contiene dos números separados por un espacio: el área y el perímetro, redondeados a dos decimales.

Ejemplos

Ejemplo 1

ENTRADA
2 circle 1 rectangle 0.5 0.5
SALIDA
3.14 6.28 0.25 2.00

Ejemplo 2

ENTRADA
5 1 1 2 3 3
SALIDA
1 2 2 1 3 2
main.ts