القائمة الرئيسية

الصفحات

Arrays تعرف على المصفوفات الأكثر استخداما في مشاريع البرمجة


الـ "Array" هو نوع من أنواع تخزين البيانات داخل البرنامج في البرمجة ويُستخدم لتخزين مجموعة من القيم من نفس النوع تحت متغير واحد ، فيمكنك تخزين قائمة من الأرقام أو النصوص أو أي نوع آخر في مصفوفة واحدة ، ويتم الوصول إلى القيم في المصفوفة باستخدام مؤشرات (index)  حيث يتم تحديد موقع كل قيمة في المصفوفة برقم محدد يسمى المؤشر.


لا شك أنك سستتعامل مع بيانات مختلفة وضحمة داخل برنامج أو تطبيقك أثناء العمل في برمجة المشاريع ، ومن بين أهم الأمور لتستطيع التعامل مع تلك البيانات هو إدخالها وترتيبها بمتغير يسمى مصفوفة او array او سلسلة في أي لغة برمجة ستستخدمها ، وهنا سنعرفك على اكثر نوع من المصفوفات التي تم استخدامها في مشاريعنا البرمجة من خلال التجربة .


فيما يلي مثال على كيفية إنشاء واستخدام مصفوفة في لغة البرمجة Python:


وتُستخدم المصفوفات (arrays) في البرمجة لتخزين وتنظيم البيانات بشكل فعّال، وهي ميزة أساسية في معظم لغات البرمجة إن لم نقل كل لغات البرمجة .

الفرق بين المصفوفات وقواعد البيانات متشابه تماما فالمصفوفات تخزن القيم والبيانات داخل الرام أثناء استخدام البرنامج وبمجرد إغلاق البرنامج يتم مسح المصفوفة التي تخزن القيم والبيبانات .

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


أنواع المصفوفات :

المصفوفات أو (arrays) شيء مهم معرفته في لغات البرمجة ، وأغلب لغات البرمجة لها نفس الكود في إنشاء أو تعريف array مصفوفة داخل المشروع وهناك ثلاث أنواع لطريقة تخزين البينات بمصفوصة وتسمى .

  • Collection: Array
  • Collection: Sets
  • Collection: Dictionary
  • Multi-Dimensional Array


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


Collection Array :

array هي أشهر طريقة في تعريف المصفوفات حيث تخزن البيانات بطريقة عادية كما شاهدتها في كود البايثون وبعدها يتم استدعاء القيم بالرقم الموجود فيه القيمة وللعلم يبدأ استدعاء القيم الموجودة داخل سلسلة المصفومة من 0 ، يعني إن أردت استدعاء القمية الموجودة في السلسلة الثانية تستخدم 1 عند استدعاء القيمة المخزنة بالمصفوفة .

مثال على هذا النوع من المصفوفات في java:


public class Main{
   
    public static void main(String[] args) {
       
        // تعريف مصفوفة نصية
        String[] cars = {"Volvo", "BMW", "Ford", "Mazda"};
       
        // تعريف مصفوفة رقمية
        int[] num = {1, 2, 3, 4};  
       
        System.out.println(cars[2]);
        System.out.println(num[2]);
       
    }
}


هنا في الأوامر السابقة في java يتم طباعة الناتج من خلال الأمر System.out.println وهي تقوم بطباعة ناتج والقفز لسطر ونحن هنا قمنا بتعريف مصفوفة سام cars واعطيناها اسماء فقط تجريبية وعندما أردنا طباعة نوع من السيارات كتبنا cary[2] وهنا يتم حساب ما داخل المصفوفة cars من البداية وطبعا ابتداءا من الصفر وسيطبع لنا ما هو موجود في 2 من سلسلة المصفوفة ويعني سيطلع لنا Ford .

المصفوفات التي تم انشاؤها في جافا في الاول cars وتسمى مصفوفة نصية لا تتعامل هذه مع دوال الرياضيات في البرمجة .

وأما الثانية num مصفوفة رقمية لا تقبل إلا الأرقام وطبعا التعامل مع هذه المصوفات داخل البرمجة نفس الطريقة في كلتا المصفوفتين.

مثال على array العادية في بايثون :


# مصفوفة نصية
cars = ["Ford", "Volvo", "BMW"]
print(cars[2])

# مصفوفة رقمية
cars = [1, 2, 4]
print(cars[1])


هنا في كود البايثون نفس الطريقة التي استخدمت في جافا في الأول  ، إلا أن في pYthon تستخدم print في طباعة الناتج او المخرج .


أظن أن هذه هي الطريقة التي يبينت لك هي التي يشرحها كثير من  المبرمجين في يوتوب وفي أغلب لغات البرمجة هي متشابهة ، وهي من بين الاستخدامات التي ستحتاجها كثيرا في مشاريعك البرمجية وخصوصا إذا كنت تتعامل مع النصوص فقد تحتاجها مثلا عند تقسيم نص إلى مصفوفة وما إلى غير ذلك ، ولأن طريقة استدعاء البيانات يكون سهل فقط من خلال رقم الأندكس .

  

Collection Sets :

مصفوفة من نوع Sets وهي المصفوفات التي يتم تعريفها في البداية ومن بعد داخل التطبيق أو البرنامج تبدأ تدخل إليها قيم ، وهذا النوع يمكن أن تتحكم في array يعني يمكن تحدف قيمة في السلسلة .

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

listview database Visual Basic

listview java array android studio



مثال على انشاء مصوفة في pyThon وتخزين القيم داخل البرنامج :


# Creating a set
my_set = {1, 2, 3, 4, 5}

# Adding elements to the set
my_set.add(6)
my_set.add(7)
my_set.add(8)

for item in my_set:
    print(item)
   

في الكود السابق على بايثون قمنا بتعريف مصفوفة في البداية ويمكن تكون فارغة في الأول وثم من بعد يمكنك إدخال القيم إلى المصفوفة ويمكن استدعاء البيانات المخزنة داخل المصفوفة من خلال رقم الأندكس كما شاهدنا الكود السابق .


مثال على مصفوفة من نوع sets في java :


import java.util.ArrayList;

// Create And Adding elements to the set
ArrayList<Integer> arrayList = new ArrayList<>();

arrayList.add(1);
arrayList.add(2);
arrayList.add(3);
arrayList.add(4);

في Java هذه الطريقة تعد من أكثر طرق استخداما للتعامل مع المصفوفات ، حيث يتم جلب البينات من جهة خارجية إما من قواعد بيانات محلية او من mysql مثلا ويتم تخزين البيانات في مصفوفة بهذه الطريقة ليتم التعمال مع البيانات فيما بعد داخل البرنامج .


Collection: Dictionary

مصفوفة من نوع Dictionary وهي التي تقوم بإدخال قيم مع مفتاح يعني key و value 

وعند استدعاء قيمة تستدعيها بالمفتاح يعني key ، وهذه الطريقة تستخدم كثيرا إذا كنت تعمل في لغة php أو تتعامل مع بيانات Json .

وأغلب الطرق التي تستخدم فيها نوع array Dictionary هي إذا كنت تستخدم خدمة API والتي تقوم فيها بجلب بيانات من جهة خارجية إلى تطبيقك أو برنامجك في مشاريع البرمجة ، مثل جلب معلومات ايبي ادرس أو جلب بينات من خريطة جوجل اوأي بيانات تريدها من موقع يقدم خدمة api .

وتستخدم تعريف هذه النوع نت لمصفوفات بالطريقة التالية مثلا بايثون :


new_dict = {"name": "Emma", "age": 28, "city": "San Francisco"}

print(new_dict["name"])

في الأوامر السابقة عندما قمنا بطباعة ماهو مخزون داخل name سيطبع Emma ، وإذا وضع age سيطبع لنا 28 . 


المصفوفة المتعددة الأبعاد ( Multi-Dimensional Array )

هذا النوع من المصفوفات يقال له أيضا مصفوفة دخل مصفوفة  قد يكون يشاهدها البعض أمر معقد وهو بالعكس ستشاهده أمر سهل عند استخدامه في مشاريعك ، وهذا هو النوع من المصفوفات الأكثر استخداما في عالم البرمجة والذي ذكرت لك في بداية الموضوع.

مصفوفة متعدد الابعاد هي مصفوفة تستخدم نفس المصوفوا التي ذكرناه من قبل إلا ان هذه تستخدم تلك المصفوفات بشكل متقدم يعني المصفوفات الأولى شاهدنا كيف نخن فيها قيم وأما هذه مصفوفة نخزن داخلها تلك المصفوفات يعني طريقة الاستدعاء قد يكون بالشاكل التالي :

 cars[0][2]  أو   cars[0][0][2]  

وتكون المصفوفة التي تم انشاؤها في السابق على الشكل التالي مثلا في بايثون :


numbers = [
    [1, 2, 3],
    [4, 5, 6],
    [7, 8, 9]
]

هنا الكود السابق مثلا إذا أردت طباعة 5 للوصول إلى هذه السلسلة وطباعة الرقم 5 ستضع numbers[1][1] ، وكما قلبنا حساب المصفوفات يبدأ من الصفر أي طلبنا المصوفة 1 بعد ما تخطينا المصفوفة 0 ثم داخل المصفوفة الثانية اخذنا 1 بعد ما قمنا بالتخطي القيمة الاولى التي هي 0 .


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

arrays vb 2010

ويمكنك استخدام هذه المصفوفات في ادخال قيم نصية ورقمية بنفس المصفوفة .

 

هل اعجبك الموضوع :

تعليقات



التنقل السريع