المسارات
/
MoonScript
MoonScript
/
التمارين
/
الأعداد المركبة
الأعداد المركبة

الأعداد المركبة

متوسط

التعليمات

يُعبَّر عن العدد المركب بالصيغة z = a + b * i، حيث:

  • a هو الجزء الحقيقي (عدد حقيقي)،

  • b هو الجزء التخيلي (وهو أيضًا عدد حقيقي)، و

  • i هي الوحدة التخيلية التي تحقق i^2 = -1.

العمليات على الأعداد المركبة

المرافق

يُعطى مرافق العدد المركب z = a + b * i بالعلاقة:

zc = a - b * i

القيمة المطلقة

تُعرَّف القيمة المطلقة (أو المقياس) للعدد z بأنها:

|z| = sqrt(a^2 + b^2)

ويُحسب مربع القيمة المطلقة على أنه حاصل ضرب z في مرافقه zc:

|z|^2 = z * zc = a^2 + b^2

الجمع

يُحسب مجموع العددين المركبين z1 = a + b * i وz2 = c + d * i بجمع جزأيهما الحقيقي والتخيلي كلًّا على حدة:

z1 + z2 = (a + b * i) + (c + d * i)
        = (a + c) + (b + d) * i

الطرح

يُحصل على الفرق بين عددين مركبين بطرح الجزأين المتناظرين من كل منهما:

z1 - z2 = (a + b * i) - (c + d * i)
        = (a - c) + (b - d) * i

الضرب

يُعرَّف حاصل ضرب عددين مركبين بأنه:

z1 * z2 = (a + b * i) * (c + d * i)
        = (a * c - b * d) + (b * c + a * d) * i

المقلوب

يُعطى مقلوب عدد مركب لا يساوي صفرًا بالعلاقة:

1 / z = 1 / (a + b * i)
      = a / (a^2 + b^2) - b / (a^2 + b^2) * i

القسمة

تُعطى قسمة عدد مركب على آخر بالعلاقة:

z1 / z2 = z1 * (1 / z2)
        = (a + b * i) / (c + d * i)
        = (a * c + b * d) / (c^2 + d^2) + (b * c - a * d) / (c^2 + d^2) * i

الرفع إلى قوة

يمكن التعبير عن رفع e (أساس اللوغاريتم الطبيعي) إلى أس مركب باستخدام صيغة أويلر:

e^(a + b * i) = e^a * e^(b * i)
              = e^a * (cos(b) + i * sin(b))

متطلبات التنفيذ

بما أنه لا ينبغي لك استخدام الدعم المدمج للأعداد المركبة، فنفّذ العمليات التالية:

  • الجمع لعددين مركبين
  • الطرح لعددين مركبين
  • الضرب لعددين مركبين
  • القسمة لعددين مركبين
  • المرافق لعدد مركب
  • القيمة المطلقة لعدد مركب
  • رفع e (أساس اللوغاريتم الطبيعي) إلى قوة عدد مركب

تعليمات خاصة بـ MoonScript

هذا تمرين موجّه بالكائنات، وفيه تنفّذ ComplexNumbers على هيئة صنف.

ستقارن الاختبارات نسختين من الأعداد المركّبة للتحقق من تساويهما. هذا يعني أن على صنفك أن ينفّذ الطريقة الفوقية __eq.

كما تجري الاختبارات عمليات حسابية على الأعداد المركّبة، لذا هناك طرق فوقية حسابية يجب تنفيذها.

Caution

ستُجري بعض دوال الأعداد المركّبة عمليات حسابية على أعداد الفاصلة العائمة. وسيكون على "التساوي" لديك أن يتعامل مع أعداد متساوية تقريبًا.


المصدر

ويكيبيديايفتح الرابط في نافذة أو علامة تبويب جديدة
تعديل عبر GitHub يفتح الرابط في نافذة أو علامة تبويب جديدة
MoonScript Exercism

مستعد لبدء الأعداد المركبة؟

سجّل في Exercism لتتعلّم وتتقن MoonScript عبر 126 تمرينًا، وإرشاد بشري حقيقي، وكل ذلك مجانًا.