Protocolos para figuras: cálculo de área e perímetro

Swift Medium protocols

Tarefa «Protocolos para figuras: cálculo de área e perímetro»

Implemente o protocolo Shape com os métodos area() -> Double e perimeter() -> Double. Crie as estruturas Circle (propriedade radius: Double) e Rectangle (propriedades width: Double, height: Double), que estão em conformidade com este protocolo. Escreva a função printShapeInfo(shape: Shape), que exibe a área e o perímetro da figura. Dados de entrada: um número inteiro n (quantidade de figuras), em seguida, para cada figura, uma string com o tipo ('circle' ou 'rectangle') e os parâmetros correspondentes (para circle — raio, para rectangle — largura e altura). Para cada figura, exiba seu tipo e os valores de área e perímetro com precisão de duas casas decimais.

Formato de Entrada

Primeira linha: um inteiro n (1 ≤ n ≤ 100). Em seguida, n linhas: cada linha contém o tipo da figura e seus parâmetros (separados por espaço). Para circle: 'circle <raio>'. Para rectangle: 'rectangle <largura> <altura>'. Todos os parâmetros são números inteiros de 1 a 1000.

Formato de Saída

Para cada figura, em uma linha separada: '<Tipo da figura>: Área = <área>, Perímetro = <perímetro>'. A área e o perímetro são exibidos com duas casas decimais.

Exemplos

Exemplo 1

ENTRADA
3 circle 5 rectangle 4 7 circle 10
SAÍDA
Circle: Площадь = 78.54, Периметр = 31.42 Rectangle: Площадь = 28.00, Периметр = 22.00 Circle: Площадь = 314.16, Периметр = 62.83

Exemplo 2

ENTRADA
1 rectangle 3 8
SAÍDA
Rectangle: Площадь = 24.00, Периметр = 22.00

Exemplo 3

ENTRADA
5 3 apple -1 banana 0 cherry 4 date -2 elderberry
SAÍDA
main.swift