بحث في هذه المدونة

الأربعاء، 21 فبراير 2024

المصفوفات والبرمجة

 المصفوفات والبرمجة

الكثير منا يتسائل عن المصفوفات وعلاقتها بالبرمجة والتعقيد الذي يراه الطالب عندما يخوص في دراستها. لكن في الحقيقة دروس المصفوفات وعلاقتها بالبرمجة تفتح آفاق كبير لدى الطالب وتعلمه التفكير المنطقي الدقيق في تتبع عناصر المصفوفة والعمليات عليها أي كانت كإضافة عنصر أو تبديل عناصر مصفوفة أو الترتيب من الاول إلى مثلا العنصر التاسع بشكل تصاعدي وما بعدها بترتيب تنازلي

وسنتناول في هذه الدروس العديد من المحاور التي تتعلق بالمصفوفات في البرمجة والبداية ستكون بشيئ بسيط وهو كالتالي:

ما هي المصفوفة؟

المصفوفة عبارة عن مواقع في الذاكرة تستخدم لتخزين مجموعة من العناصر ومن نفس نوع . يتم ترتيب العناصر بشكل تسلسلي في العادة ، بحيث يكون العنصر الأول عند الفهرس 0 والعنصر الأخير عند الفهرس n-1، حيث n هو العدد الإجمالي للعناصر في المصفوفة. ويمكن ان تتخيل عناصر المصفوفة كدولاب يبدأ في ترتيبه من الصفر وإلى آخر عنصر هو n-1



كيفية الإعلان عن المصفوفة

في فيجول بيسك دوت نت يتم الإعلان عن المصفوفات باستخدام عبارة Dim. على سبيل المثال:

Dim A1() As Byte
في المثال أعلاه، قمنا بتعريف مصفوفة باسم A1، ويجب أن تحتوي على عناصر من نوع البيانات الصحيح المحددة من 0 إلى 255.


Dim myData(10) As String

لقد قمنا بتعريف مصفوفة باسم myData بها 10 عناصر من نوع السلاسل الحرفية.

ويمكن ان نسند لهذه العناصر قيمها في التعريف نفسه مثلا

Dim myData() As Integer = {11, 12, 22, 7, 47, 32}

لقد أعلنا عن المصفوفة myData وأضفنا إليها 6 عناصر صحيحة. ويمكن القيام بذلك أيضًا في حالة السلاسل الحرفية:

Dim days() As String = {"الاحد", "الاثنين", "الثلاثاء", "الاربعاء", "الخميس"}

لقد أنشأنا مصفوفة بايام العمل في الاسبوع وأضفنا إليها 5 أسماء.

مصفوفات البعد الثابت

تحتوي المصفوفة ذات الحجم الثابت على عدد ثابت من العناصر. وبهذا يتوجب عليك تحديد عدد العناصر التي ستحتفظ بها أثناء تعريفها.

وهناك طريقتان لتعريفها

الطريقة الاولى

Dim myData(10) As String

لقد قمنا بتعريف مصفوفة باسم myData بها 10 عناصر من نوع السلاسل الحرفية.

الطريقة الثانية

قمنا بتعريف مصفوفة تحتوي على 3 عناصر لأسماء طلاب فقط.

Dim students (0 to 2) As String 
      
students(0) = "محمد"
students(1) = "علي"
students(2) = "أحمد"

لقد بدأنا بالإعلان عن مصفوفة سلسلة تسمى الطلاب. وسنقوم بتخزين العناصر من فهرسها من الفهرس 0 إلى الفهرس 2، مما يعني ان لدينا ثلاثة عناصر في المصفوفة. حيث العنصر الاول الذي فهرسه (0) يشير إلى اسم الطالب " محمد " والعنصر الثاني الذي فهرسه (1) يشير إلى اسم الطالب " علي " والثالث كذلك.

لإضافة عناصر إلى المصفوفة، استخدمنا اسم المصفوفة وحددنا الفهرس الذي سيتم تخزين العنصر فيه. على سبيل المثال، سيتم تخزين الاسم محمد في الفهرس 0 للمصفوفة، مما يعني أنه سيشكل العنصر الأول للمصفوفة. سيكون "أحمد" العنصر الأخير في المصفوفة.

المصفوفات الديناميكية

هذه مصفوفة يمكنها استيعاب أي عدد من العناصر. يمكن أن ينمو حجم المصفوفة في أي وقت. هذا يعني أنه يمكنك إضافة عناصر جديدة إلى المصفوفة في أي وقت نريده. لتوضيح ذلك، دعونا أولا نحدد مجموعة من الأعداد الصحيحة:

Dim nums() As Integer

لقد قمنا بتعريف مصفوفة أعداد صحيحة تسمى nums. أنت الآن بحاجة إلى إضافة عنصرين إلى المصفوفة، مع إتاحة المجال لتغيير حجمها. تحتاج إلى استخدام عبارة ReDim كما يلي:


ReDim nums(1)
nums(0) = 12
nums(1) = 23

تحتوي مصفوفتنا الآن على عنصرين في الفهرس 0 و1. نحتاج إلى إضافة عنصر ثالث إليها في الفهرس 3 مع الحفاظ على العنصرين الموجودين بالفعل. يمكننا القيام بذلك على النحو التالي:

ReDim Preserve nums(2)
nums(2) = 35

يحتوي المصفوفة الآن على ثلاثة عناصر.


يتبع .....

 


ليست هناك تعليقات:

إرسال تعليق