Interfaz para figuras geométricas

Go Medium interfaces

Tarea «Interfaz para figuras geométricas»

Implementa la interfaz Shape, que contiene el método Area() float64. Crea las estructuras Circle y Rectangle que implementen esta interfaz. Para el círculo, el área se calcula como π * r^2, para el rectángulo — a * b. Luego escribe una función PrintArea(s Shape) que imprima el área de la figura con precisión de dos decimales. Datos de entrada: tipo de figura (1 — círculo, 2 — rectángulo) y los parámetros correspondientes (radio para el círculo, lados a y b para el rectángulo). Imprimir el área de la figura.

Formato de entrada

Primera línea: un número entero t (1 ≤ t ≤ 100) — cantidad de figuras. Para cada figura: primera línea — un número entero type (1 o 2). Si type=1, la siguiente línea contiene un número real — el radio. Si type=2, la siguiente línea contiene dos números reales — los lados a y b.

Formato de salida

Para cada figura, imprima su área con precisión de dos decimales, cada una en una nueva línea.

Ejemplos

Ejemplo 1

ENTRADA
1 0
SALIDA
1

Ejemplo 2

ENTRADA
4 ADD Task A 1 ADD Task B 4 COMPLETE Task C PENDING
SALIDA
Task not found Task B, Task A
main.go