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

Swift Medium protocols

Tarea «Protocolos para figuras: cálculo de área y perímetro»

Implemente el protocolo Shape con los métodos area() -> Double y perimeter() -> Double. Cree las estructuras Circle (propiedad radius: Double) y Rectangle (propiedades width: Double, height: Double) que cumplan con este protocolo. Escriba la función printShapeInfo(shape: Shape) que muestre el área y el perímetro de la figura. Datos de entrada: un número entero n (cantidad de figuras), luego para cada figura una cadena con el tipo ('circle' o 'rectangle') y los parámetros correspondientes (para circle — el radio, para rectangle — el ancho y la altura). Para cada figura, muestre su tipo y los valores del área y perímetro con precisión de dos decimales.

Formato de entrada

Primera línea: un entero n (1 ≤ n ≤ 100). Luego n líneas: cada línea contiene el tipo de figura y sus parámetros (separados por un espacio). Para circle: 'circle <radio>'. Para rectangle: 'rectangle <ancho> <altura>'. Todos los parámetros son números enteros del 1 al 1000.

Formato de salida

Para cada figura en una línea separada: '<Tipo de figura>: Área = <área>, Perímetro = <perímetro>'. El área y el perímetro se muestran con dos dígitos después del punto decimal.

Ejemplos

Ejemplo 1

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

Ejemplo 2

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

Ejemplo 3

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