الاعداد المركبة Complex Numbers


الاعداد المركبة هي الأرقام التي تكون على صورة a+bi حيث a و b ارقام حقيقية بينما i هو عبارة عن عدد خيالي مربعه يساوي -1 ويسمي العدد الحقيقي a بالجزء الحقيقي من الرقم والعدد الحقيقي b بالجزء التخيلي.
مثلا، 9 + 7i هو عدد مركب ، فيه 9 هو الجزء الحقيقي، و 7 هو الجزء التخيلي.
كثيرا ما نواجه هذه الارقام في حياتنا خاصة في المجالات الدراسية والهندسية , وكما نعلم فهي تحتاج لتعامل خاص من حيث جمعها وطرحها واجراء العمليات الحسابية عليها ..
هذا التعامل اصبح الان سهل جداً مع .NET 4 حيث جاءت لنا بكلاس جديد اسمه Complex ضمن namespace جديدة تدعى System.Numerics .
يمكنك عن طريق هذا الكلاس تعريف الأرقام المركبة واجراء العمليات الحسابية عليها بكل بساطة كما سنرى بعد قليل.
يمتلك هذا الكلاس اثنين من الconstructors : الأول بدون أي باراميتر يعرف رقم مركب يكون فيه الجزء الحقيقي والجزء الخيالي عبارة عن قيم صفرية .
اما الconstructor الثاني فيأخذ اثنين من الباراميترز يمثلان الجزءان الحقيقي والخيالي على الترتيب .
يمتلك الكلاس Complex ايضاً عدة properties كMagnitude وPhase من اجل اعطاء قيمة الأرقام المركبة اضافة للزاوية كما في المثال الاتي:
(لا تنسى وضع using System.Numerics; )

رمز برمجي:
static void Main(string[] args)
{
 var c1 = new Complex(); // (هذا ينشأ رقم مركب (0,0
 var c2 = new Complex(7, 2);
 var c3 = new Complex(34, 9);

 Console.WriteLine("Complex Zero: " + c1);
 Console.WriteLine(c2 + " + " + c3 + " = " + (c2 + c3));

 Console.WriteLine("|c2| = " + c2.Magnitude);
 Console.WriteLine("Phase of c2 = " + c2.Phase);

 Console.ReadLine();
}

يمكننا ايضاً عرض الأرقام المركبة بنمط Cartesian عن طريق الميثود ToString() ويمكن ايضاً التعامل معها وجمعها وطرحها وضربها وقسمتها كأي ارقام اخرى باستعمال static methods اضافة للطريقة الإعتيادية الموضحة في المثال السابق.
يوضح المثال التالي كيفية استعمال هذه الmethods على الأرقام المركبة :

رمز برمجي:
static void Main(string[] args)
{
  var c2 = new Complex(7, 4);
  var c3 = new Complex(24, 3);

  var c4 = Complex.Add(c2, c3);
  var c5 = Complex.Subtract(c2, c3);
  var c6 = Complex.Multiply(c2, c3);
  var c7 = Complex.Divide(c2, c3);

  Console.WriteLine("c2 + c3 = " + c4);
  Console.WriteLine("c2 - c3 = " + c5);
  Console.WriteLine("c2 * c3 = " + c6);
  Console.WriteLine("c2 / c3 = " + c7);

  Console.ReadLine();
}

لمزيد من المعلومات عن هذا الكلاس الجديد يمكنكم زيارة موقع msdn
http://msdn.microsoft.com/en-us/libr…s.complex.aspx

عبد العظيم بخاري
http://www.el-bukhari.com/2010/10/co…numbers-4.html

  1. لا توجد تعليقات حتى الآن.
  1. No trackbacks yet.

شاركنا برأيك ,لكي نرقى بالمدونة,يمكنك أضافة تعليق عن طريق حسابك في Facebook