Interface para formas geométricas: cálculo de área e perímetro
TypeScript
Medium
interfaces
Tarefa «Interface para formas geométricas: cálculo de área e perímetro»
Crie uma interface Shape que contém os métodos getArea() e getPerimeter(), retornando um número. Implemente as classes Circle (que recebe o raio) e Rectangle (que recebe largura e altura), que implementam essa interface. Em seguida, escreva a função processShape, que recebe um array de formas e exibe para cada forma sua área e perímetro separados por espaço. Todos os dados de entrada são lidos do stdin: primeiro o número n (quantidade de formas), depois n linhas, cada uma começando com o tipo da forma ('circle' ou 'rectangle'), seguido pelos parâmetros (raio para círculo, largura e altura para retângulo). Exiba para cada forma sua área e perímetro, arredondados para duas casas decimais, cada par em uma nova linha.
Formato de Entrada
Primeira linha: um número inteiro n (1 ≤ n ≤ 100). Em seguida, n linhas, cada uma no formato: <tipo> <parâmetros>. Para circle: radius (inteiro ou real). Para rectangle: width height (inteiros ou reais).
Formato de Saída
n linhas, cada uma contendo dois números separados por espaço: área e perímetro, arredondados para duas casas decimais.
Exemplos
Exemplo 1
ENTRADA
2
circle 1
rectangle 0.5 0.5
SAÍDA
3.14 6.28
0.25 2.00
Exemplo 2
ENTRADA
5
1 1 2 3 3
SAÍDA
1 2 2 1 3 2
main.ts