بروتوكولات للأشكال: حساب المساحة والمحيط

Swift Medium protocols

مهمة «بروتوكولات للأشكال: حساب المساحة والمحيط»

```html
نفذ بروتوكول Shape مع الطرق area() -> Double و perimeter() -> Double. أنشئ بنيتين Circle (خاصية radius: Double) و Rectangle (خصائص width: Double, height: Double) تتوافقان مع هذا البروتوكول. اكتب دالة printShapeInfo(shape: Shape) تطبع مساحة ومحيط الشكل. بيانات الإدخال: عدد صحيح n (عدد الأشكال)، ثم لكل شكل سلسلة نصية تحدد النوع ('circle' أو 'rectangle') والمعاملات المناسبة (لـ circle — نصف القطر، لـ rectangle — العرض والارتفاع). لكل شكل، اطبع نوعه وقيم المساحة والمحيط بدقة حتى منزلتين عشريتين.
```

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

السطر الأول: عدد صحيح n (1 ≤ n ≤ 100). بعد ذلك n سطر: كل سطر يحتوي على نوع الشكل ومعلماته (مفصولة بمسافة). بالنسبة لـ circle: 'circle <نصف القطر>'. بالنسبة لـ rectangle: 'rectangle <العرض> <الارتفاع>'. جميع المعلمات هي أعداد صحيحة من 1 إلى 1000.

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

لكل شكل في سطر منفصل: '<نوع الشكل>: المساحة = <المساحة>, المحيط = <المحيط>'. يتم عرض المساحة والمحيط برقمين عشريين بعد الفاصلة.

أمثلة

مثال 1

الإدخال
3 circle 5 rectangle 4 7 circle 10
الإخراج
Circle: Площадь = 78.54, Периметр = 31.42 Rectangle: Площадь = 28.00, Периметр = 22.00 Circle: Площадь = 314.16, Периметр = 62.83

مثال 2

الإدخال
1 rectangle 3 8
الإخراج
Rectangle: Площадь = 24.00, Периметр = 22.00

مثال 3

الإدخال
5 3 apple -1 banana 0 cherry 4 date -2 elderberry
الإخراج
main.swift