Interface pour les formes géométriques

Go Medium interfaces

Tâche «Interface pour les formes géométriques»

Implémentez l’interface Shape, qui contient la méthode Area() float64. Créez les structures Circle et Rectangle implémentant cette interface. Pour le cercle, l’aire est calculée comme π * r^2, pour le rectangle — a * b. Ensuite, écrivez une fonction PrintArea(s Shape) qui affiche l’aire de la forme avec une précision de deux décimales. Données d’entrée : type de forme (1 — cercle, 2 — rectangle) et paramètres correspondants (rayon pour le cercle, côtés a et b pour le rectangle). Afficher l’aire de la forme.

Format d\ entrée

Première ligne : un entier t (1 ≤ t ≤ 100) — le nombre de formes. Pour chaque forme : première ligne — un entier type (1 ou 2). Si type=1, la ligne suivante contient un nombre réel — le rayon. Si type=2, la ligne suivante contient deux nombres réels — les côtés a et b.

Format de sortie

Pour chaque forme, affichez son aire avec une précision de deux décimales, chacune sur une nouvelle ligne.

Exemples

Exemple 1

ENTRÉE
1 0
SORTIE
1

Exemple 2

ENTRÉE
4 ADD Task A 1 ADD Task B 4 COMPLETE Task C PENDING
SORTIE
Task not found Task B, Task A
main.go