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

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

سهل

التعليمات

يُعبَّر عن العدد المركب بالصيغة 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 (أساس اللوغاريتم الطبيعي) إلى قوة عدد مركب

ملحق

Note

التعليمات أعلاه متزامنة مع مستودع مشترك لضمان الاتساق بين جميع مسارات اللغات. يقدّم هذا الملحق توضيحًا إضافيًا أو يعدّل التعليمات حسب الحاجة لتتوافق بشكل أفضل مع أهداف مسار Clojure.

في هذا التمرين ضمن مسار Clojure، لا تحتاج إلى تنفيذ عملية الرفع إلى قوة.


المصدر

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

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

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