Interface pour les formes géométriques : calcul de l’aire et du périmètre

TypeScript Medium interfaces

Tâche «Interface pour les formes géométriques : calcul de l’aire et du périmètre»

Créez une interface Shape qui contient les méthodes getArea() et getPerimeter(), retournant un nombre. Implémentez les classes Circle (qui prend le rayon) et Rectangle (qui prend la largeur et la hauteur), qui implémentent cette interface. Ensuite, écrivez une fonction processShape qui prend un tableau de formes et affiche pour chaque forme son aire et son périmètre séparés par un espace. Toutes les données d’entrée sont lues depuis stdin : d’abord un nombre n (le nombre de formes), puis n lignes, chacune commençant par le type de forme ('circle' ou 'rectangle'), suivi des paramètres (rayon pour le cercle, largeur et hauteur pour le rectangle). Affichez pour chaque forme son aire et son périmètre, arrondis à deux décimales, chaque paire sur une nouvelle ligne.

Format d\ entrée

Première ligne : un entier n (1 ≤ n ≤ 100). Ensuite n lignes, chacune au format : <type> <paramètres>. Pour circle : radius (entier ou réel). Pour rectangle : width height (entiers ou réels).

Format de sortie

n lignes, chacune contenant deux nombres séparés par un espace : l’aire et le périmètre, arrondis à deux décimales.

Exemples

Exemple 1

ENTRÉE
2 circle 1 rectangle 0.5 0.5
SORTIE
3.14 6.28 0.25 2.00

Exemple 2

ENTRÉE
5 1 1 2 3 3
SORTIE
1 2 2 1 3 2
main.ts