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

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

صعب

التعليمات

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

يمكن العثور على تطبيق Julia Base للأعداد المركبة هنا: https://github.com/JuliaLang/julia/blob/master/base/complex.jl.


الجزء الإضافي أ

يمكنك العمل على التمارين الإضافية التي تتضمن عمليات حسابية بين الأعداد الحقيقية والأعداد المركبة عبر إلغاء التعليق عن: # enable_realcomplex_tests = true في ملف complex-numbers.jl المبدئي أو في runtests.jl

الجزء الإضافي ب

يمكنك العمل على التمارين الإضافية بين الأعداد الحقيقية والأعداد المركبة عبر إلغاء التعليق عن: # enable_syntaxsugar_tests = true في ملف complex-numbers.jl المبدئي أو في runtests.jl ثم نفّذ jm على غرار im بحيث يكون 1 + 1jm == ComplexNumber(1, 1).


المصدر

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

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

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