نوع البيانات المعقدة

توفر بعض لغات البرمجة نوع بيانات معقد لتخزين الأرقام المعقدة وإجراء العمليات الحسابية كنوع بيانات مدمج ( أولي ) .

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

عادةً ما يُمثَّل المتغير أو القيمة المركبة بزوج من الأعداد العشرية . توفر اللغات التي تدعم أنواع البيانات المركبة عادةً صيغةً خاصةً لبناء هذه القيم، وتُوسِّع العمليات الحسابية الأساسية (+، -، ×، ÷) لتشملها . يُترجم المُصرِّف هذه العمليات عادةً إلى سلسلة من تعليمات الآلة العشرية أو إلى استدعاءات مكتبية . قد تدعم هذه اللغات أيضًا عمليات أخرى، مثل التنسيق واختبار المساواة، وما إلى ذلك. وكما هو الحال في الرياضيات ، غالبًا ما تُفسِّر هذه اللغات القيمة العشرية على أنها مكافئة لقيمة مركبة ذات جزء تخيلي يساوي صفرًا.

الدعم اللغوي

  • النوع المعقد لـ FORTRAN . [ 1 ]
  • يتضمن معيار C99 للغة البرمجة C أنواع البيانات المعقدة ووظائف الرياضيات المعقدة في رأس المكتبة القياسية . [ 2 ]<complex.h>
  • توفر مكتبة C++ القياسية فئة قالبcomplex بالإضافة إلى دوال الرياضيات المعقدة في <complex>ملف الرأس. [ 3 ]
  • تحتوي لغة البرمجة Go على أنواع بيانات مدمجة complex64(كل مكون منها عبارة عن عدد عشري 32 بت) و complex128(كل مكون منها عبارة عن عدد عشري 64 بت). يمكن تحديد الأعداد التخيلية بإضافة الحرف "i". [ 4 ]
  • توفر وحدة Math::Complex الأساسية في لغة Perl الدعم للأعداد المركبة.
  • توفر لغة بايثون النوع المدمج complex. ويمكن تحديد قيم الأعداد التخيلية بإضافة "j". وتتوفر دوال الرياضيات المركبة في وحدة المكتبة القياسية cmath. [ 5 ]
  • توفر لغة روبي فئة Complex في وحدة المكتبة القياسية complex .
  • يدعم OCaml الأعداد المركبة باستخدام وحدة المكتبة القياسية Complex .
  • يدعم Haskell الأعداد المركبة باستخدام وحدة المكتبة القياسية Data.Complex (التي كانت تسمى سابقًا Complex ).
  • يوفر برنامج Mercury الأعداد المركبة مع دعم كامل لتحميل المعاملات الزائدة في توزيعة extras، باستخدام libcomplex_numbers .
  • لا تحتوي لغة جافا على فئة قياسية للأعداد المركبة، ولكن يوجد عدد من التطبيقات المجانية غير المتوافقة لفئة الأعداد المركبة:
    • توفر مكتبة Apache Commons Math الأعداد المركبة للغة Java من خلال فئة Complex الخاصة بها .
    • تحتوي مكتبة JScience على فئة الأعداد المركبة .
    • تتيح مكتبة JAS استخدام الأعداد المركبة.
    • يحتوي Netlib على فئة للأعداد المركبة للغة Java.
    • كما يضيف javafastcomplex دعمًا للأعداد المركبة للغة جافا.
    • jcomplexnumber هو مشروع لتطبيق الأعداد المركبة في لغة جافا.
    • تتضمن مكتبة JLinAlg أعدادًا مركبة بدقة اختيارية.
  • لغة Common Lisp : يدعم معيار ANSI Common Lisp الأعداد المركبة من نوع float والأعداد النسبية والأعداد الصحيحة ذات الدقة العشوائية. وتُعرَّف دوالها الرياضية الأساسية للأعداد المركبة، حيثما ينطبق ذلك. على سبيل المثال، الجذر التربيعي للعدد -1 هو عدد مركب.
؟ ( -1 ) # C ( 0 1 ) ؛ نتيجة (√-1)
  • المخططsin : تتضمن مواصفات اللغة الأعداد المركبة والدوال (مثلاً ). ومع ذلك، فإن تنفيذها اختياري في معيار R5RS، بينما هو إلزامي في معيار R6RS.
  • يوفر إطار عمل .NET خاصية System.Numerics.Complex منذ الإصدار 4.0. [ 6 ]
  • يدعم نظام BASIC الذكي لنظام iOS الأعداد المركبة بشكل طبيعي a + bi. يمكن لأي متغير أو عملية حسابية أو دالة أن تقبل أعدادًا حقيقية ومركبة كمعاملات، وأن تُرجع أعدادًا حقيقية أو مركبة حسب النتيجة. على سبيل المثال، الجذر التربيعي للعدد -4 هو عدد مركب.
    اطبع الجذر التربيعي ( -4 ) 2 i
  • تتضمن لغة جوليا أنواعًا محددة مسبقًا لكل من الأعداد المركبة والنسبية منذ الإصدار 0.3 على الأقل. [ 7 ]
  • توفر لغة Rcomplex نوع بيانات أساسي. [ 8 ]
  • لا توفر لغة Rust نوع بيانات معقد مدمج، ولكن توجد العديد من الحزم التي تضيف دعمًا لمثل هذه الأنواع.
  • لا تحتوي لغة Swift على نوع بيانات قياسي للأعداد المركبة، ولكن Swift Numerics التي يتم صيانتها من قبل القائمين على صيانة اللغة توفر ComplexModule .

مراجع

  1. دليل برمجة فورتران IV، دانيال د. مكراكين - 1972 - 288 صفحة. "إن القدرة التي توفرها عمليات فورتران المعقدة توفر الكثير من الجهد البرمجي في بعض المشكلات."
  2. "الحساب بالأعداد المركبة" . cppreference.com . تم الاطلاع عليه بتاريخ 2026-04-02 .
  3. "std::complex" . cppreference.com . تم الاطلاع عليه بتاريخ 2026-04-02 .
  4. "مواصفات لغة البرمجة Go: الأنواع العددية" . go.dev . تم الاطلاع عليه بتاريخ 2026-04-02 .
  5. وثائق بايثون الإصدار 2.6.5
  6. "البنية المعقدة (System.Numerics)" . مايكروسوفت ليرن . تم الاسترجاع في 2026-04-02 .
  7. "الأعداد المركبة والنسبية - وثائق لغة جوليا 0.3.13-pre" .
  8. "أنواع بيانات R" . www.w3schools.com . تم الاطلاع عليه بتاريخ 26-04-2022 .