واجهة للأشكال الهندسية

Go Medium interfaces

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

نفّذ الواجهة Shape، التي تحتوي على طريقة Area() float64. أنشئ الهيكلين Circle وRectangle، اللذين ينفذان هذه الواجهة. بالنسبة للدائرة، تُحسب المساحة كـ π * r^2، وبالنسبة للمستطيل — a * b. ثم اكتب دالة PrintArea(s Shape) التي تطبع مساحة الشكل بدقة حتى منزلتين عشريتين. بيانات الإدخال: نوع الشكل (1 — دائرة، 2 — مستطيل) والمعاملات المقابلة (نصف القطر للدائرة، الضلعان a و b للمستطيل). قم بطباعة مساحة الشكل.

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

السطر الأول: عدد صحيح t (1 ≤ t ≤ 100) — عدد الأشكال. لكل شكل: السطر الأول — عدد صحيح type (1 أو 2). إذا كان type=1، فإن السطر التالي يحتوي على عدد حقيقي واحد — نصف القطر. إذا كان type=2، فإن السطر التالي يحتوي على عددين حقيقيين — الضلعان a و b.

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

لكل شكل، اطبع مساحته بدقة حتى منزلتين عشريتين، كل منها في سطر جديد.

أمثلة

مثال 1

الإدخال
1 0
الإخراج
1

مثال 2

الإدخال
4 ADD Task A 1 ADD Task B 4 COMPLETE Task C PENDING
الإخراج
Task not found Task B, Task A
main.go