واجهة للأشكال الهندسية: حساب المساحة والمحيط
TypeScript
Medium
interfaces
مهمة «واجهة للأشكال الهندسية: حساب المساحة والمحيط»
```html
أنشئ واجهة Shape تحتوي على طرق getArea() و getPerimeter() التي تُرجع رقمًا. قم بتنفيذ الفئتين Circle (يستقبل نصف القطر) و Rectangle (يستقبل العرض والارتفاع) اللتين تطبقان هذه الواجهة. ثم اكتب دالة processShape التي تستقبل مصفوفة من الأشكال وتطبع لكل شكل مساحته ومحيطه مفصولين بمسافة. تُقرأ جميع بيانات الإدخال من stdin: أولاً الرقم n (عدد الأشكال)، ثم n سطر، يبدأ كل سطر بنوع الشكل ('circle' أو 'rectangle')، متبوعًا بالمعاملات (نصف القطر للدائرة، العرض والارتفاع للمستطيل). اطبع لكل شكل مساحته ومحيطه، مقربين إلى منزلتين عشريتين، كل زوج في سطر جديد.
```
أنشئ واجهة 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