واجهة للأشكال الهندسية: حساب المساحة والمحيط

TypeScript Medium interfaces

مهمة «واجهة للأشكال الهندسية: حساب المساحة والمحيط»

```html
أنشئ واجهة Shape تحتوي على طرق getArea() و getPerimeter() التي تُرجع رقمًا. قم بتنفيذ الفئتين Circle (يستقبل نصف القطر) و Rectangle (يستقبل العرض والارتفاع) اللتين تطبقان هذه الواجهة. ثم اكتب دالة processShape التي تستقبل مصفوفة من الأشكال وتطبع لكل شكل مساحته ومحيطه مفصولين بمسافة. تُقرأ جميع بيانات الإدخال من stdin: أولاً الرقم n (عدد الأشكال)، ثم n سطر، يبدأ كل سطر بنوع الشكل ('circle' أو 'rectangle')، متبوعًا بالمعاملات (نصف القطر للدائرة، العرض والارتفاع للمستطيل). اطبع لكل شكل مساحته ومحيطه، مقربين إلى منزلتين عشريتين، كل زوج في سطر جديد.
```

تنسيق الإدخال

<html>
<body>
<p>السطر الأول: عدد صحيح n (1 ≤ n ≤ 100). بعد ذلك، n سطر، كل سطر بالتنسيق: <type> <parameters>. بالنسبة لـ circle: radius (عدد صحيح أو حقيقي). بالنسبة لـ rectangle: width height (عدد صحيح أو حقيقي).</p>
</body>
</html>

تنسيق الإخراج

n من الأسطر، يحتوي كل سطر على رقمين مفصولين بمسافة: المساحة والمحيط، مقربين إلى منزلتين عشريتين.

أمثلة

مثال 1

الإدخال
2 circle 1 rectangle 0.5 0.5
الإخراج
3.14 6.28 0.25 2.00

مثال 2

الإدخال
5 1 1 2 3 3
الإخراج
1 2 2 1 3 2
main.ts