المدونة--الفصل الأولثالث متوسطالقوائم وصفوف البيانات | الوحدة الرابعة| الدرس الأول

القوائم وصفوف البيانات | الوحدة الرابعة| الدرس الأول

القوائم وصفوف البيانات

القوائم وصفوف البيانات هو عنوان الدرس الأول من الوحدة الثالثة التي تحمل اسم “البرمجة المتقدمة قي بايثون” في الفصل الدراسي الأول من مقرر “ثالث متوسط”.

ستتعرف في هذا الموضوع على مفهوم هياكل البيانات (Data Structures)، والتمييز بينها، بالإضافة إلى استخدام القوائم (List) وصفوف البيانات (Tuples) لتخزين البيانات.

القوائم وصفوف البيانات

لذا قم بقراءة نواتج التعلُّم جيدًا، ثم أعد قراءتها وتأكَّد من تحصيل كافة محتوياتها بعد انتهائك من دراسة الموضوع.

نواتج التعلٌّم

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

هيا لنبدأ!

مقدمة – القوائم وصفوف البيانات

يتم استخدام القوائم وصفوف البيانات على نطاقٍ واسعٍ في البرمجة، وذلك في سياقٍ متشابه في كثير من الأحيان، وقد تحتوي القائمة أو الصف على أي نوع من الكائنات (Objects).

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

هياكل البيانات

تخزّن أجهزة الحاسب البيانات بكفاءة وسرعة عالية وتعالجها بدقة. وتعدُّ هياكل البيانات (Data Structures) وسيلة لتخزين وتنظيم البيانات في الذاكرة، يمكِن تصنيف هياكل البيانات على النحو الآتي:

القوائم وصفوف البيانات

كما يمكِن تمثيل هياكل البيانات بصورة مفصلة كما في المخطَّط الآتي:

هياكل البيانات البسيطة

يطلق على هياكل البيانات البسيطة (Primitive Data Structures) في بايثون اسم “هياكل البيانات الأساسية”، وتحتوي هذه الأنواع من هياكل البيانات على قيم بسيطة من البيانات.

تُخبر أنواع البيانات البسيطة مترجم اللغة (Compiler) عن نوع البيانات التي يمكِن تخزينها داخل المتغيِّر.

هياكل البيانات الأساسية في بايثون، هي:

  • الأرقام (Numbers): يتم استخدام الأرقام لتمثيل البيانات الرقمية، وتنقسم إلى:
  1. الأرقام الصحيحة (Integers): مثل 2، 5، -18 وما إلى ذلك.
  2. الأرقام العشرية (Floating Points)، مثل 14، 5.043 وما إلى ذلك.
  • النصوص (Strings): وهي مجموعات نصية تتكوَّن من أحرف وكلمات.
  • البيانات المنطقية (Boolean): تأخذ نوع البيانات المنطقية قيمتي صواب أو خطأ.

لمعرفة المزيد من المعلومات عن هياكل البيانات في بايثون، قم بالاطّلاع على الرابط التالي:

هياكل البيانات Data Structures – أكاديمية حسوب

هياكل البيانات غير البسيطة

هياكل البيانات غير البسيطة (Non-primitive Data Structures) هي هياكل متخصصة تخزن مجموعة من القيم، ويتم إنشاء هذه الهياكل بواسطة المبرمج ولا يتم تعريفها بواسطة بايثون كما هو الحال مع هياكل البيانات البسيطة.

يتم تصنيف هياكل البيانات غير البسيطة إلى فئتين: هياكل البيانات الخطية، وهياكل البيانات غير الخطية.

أوجه الاختلاف بين هياكل البيانات الخطية وهياكل البيانات غير الخطية

تخزّن هياكل البيانات الخطية عناصر البيانات بصورة متسلسلة أو متتالية.

هياكل البيانات غير الخطية لا تحتوي على ارتباط تسلسلي بين عناصر البيانات، فيمكِن ربط أي زوج أو مجموعة من عناصر البيانات ببعضها والوصول إليها بدون تسلسل محدَّد.

القائمة

تعدُّ القائمة (List) أحد أكثر هياكل البيانات الخطية استخدامًا في بايثون.

تتكوَّن القائمة من سلسلة مُرتَّبة من كائنات مستخدمة لتخزين البيانات بأنواعها، حيث لا يُشترط أن تكون عناصر القائمة من نفس النوع.

يتم فصل عناصر القائمة بإضافة الفواصل بينها، وذلك داخل أقواس مربعة، ويمكِن للمُستخدِم إعداد عناصر القائمة أو إدخالها.

القوائم وصفوف البيانات

يمكِنك هنا مشاهدة بعض الأمثلة:

يمكِنك استخدام التكرار for لطباعة عناصر القائمة:

القوائم وصفوف البيانات

بإمكانك مراجعة محتوى موضوع “القوائم وصفوف البيانات” من بدايته وحتى هذه النقطة، من خلال الرابط التالي:

فهرسة القوائم (List Indexing)

كما هو الحال مع السلاسل النصية، يتميز كل عنصر في القائمة برقم تسلسلي فريد يسمى الفهرس، ويحدَّد موقعه داخل القائمة.

يمكِن للمُستخدِم الوصول إلى عناصر كل قائمة بكتابة اسم القائمة والرقم التسلسلي للعنصر بين قوسين مربعين.

لاحظ أن

تبدأ فهرسة القائمة من الصفر وليس من 1.

وللتعامل مع عنصر معيَّن في القائمة يتم استخدام اسم القائمة متبوعًا بقوسين مربعين وبينهما رقم موقعه في القائمة، فمثلًا لطباعة العنصر الثالث في القائمة fruits (رقم موقعه 2 في القائمة): print(fruits[2]).

القوائم وصفوف البيانات

تسمح لغة بايثون بالفهرسة السالبة للقوائم، حيث يشير رقم الفهرس -1 إلى العنصر الأخير في القائمة، ويشير -2 إلى العنصر الثاني قبل الأخير في القائمة وهكذا.

القوائم وصفوف البيانات

استخدام الدوال مع القوائم

تقدم لغة بايثون بعض الدوال الجاهزة التي يمكِن استخدامها من القوائم.

ستتعلم هنا كيفية استخدامها وكذلك بناء دوال تقوم بنفس الوظيفة لغرض التدريب على استخدام الدوال من القوائم.

للقيام بحساباتك، يمكِنك استخدام الدوال الجاهزة الآتية:

دالة len ( )

تجمع دالة len ( ) عدد العناصر في القائمة، وتُرجع مجموعها.

القوائم وصفوف البيانات

دالة sum ( )

تجمع دالة sum ( ) قيم عناصر القائمة معًا وتُرجع مجموعها، وتتعامل فقط مع القيم العددية.

لجمع عناصر القائمة، تحتاج إلى استخدام متغيِّر جديد لإضافة كل عنصر من عناصر القائمة.

دالة max ( )

تعرض دالة max ( ) قيمة أكبر عنصر في القائمة.

القوائم وصفوف البيانات

دالة min ( )

تعرض دالة min ( ) قيمة أدنى عنصر في القائمة.

القوائم وصفوف البيانات

بإمكانك مراجعة محتوى موضوع “القوائم وصفوف البيانات” بدايةً من عنوان “فهرسة القوائم” وحتى هذه النقطة، من خلال الرابط التالي:

هنا بعض الدوال المدمجة التي يمكِن استخدامها مع القوائم.

دالة listName.append(x)

تضيف دالة append( ) عنصرًا جديدًا في نهاية القائمة.

القوائم وصفوف البيانات

يمكِنك استخدام دالة append( ) لإنشاء قائمة إدخال من المُستخدِم.

للقيام بذلك يتعين عليك أولًا إنشاء قائمة فارغة.

دالة listName.remove(x)

تحذف دالة remove( ) عنصرًا معينًا من القائمة.

القوائم وصفوف البيانات

دالة listName.count(x)

تحسب دالة count( ) عدد مرات ظهور عنصر محدد في القائمة.

دالة listName.sort(x)

ترّتب دالة sort( ) عناصر القائمة تصاعديًا.

القوائم وصفوف البيانات

دالة listName.reverse(x)

ترتّب دالة reverse( ) عناصر القائمة عكسيًا.

دالة listName.clear( )

تحذف دالة clear( ) جميع عناصر القائمة.

القوائم وصفوف البيانات

صفوف البيانات

هيكل الصف البياني (Tuple) هو أحد هياكل البيانات الخطية الأخرى في بايثون، ويضم عددًا مرتبًا من البيانات، ويمكِن أن يُخزِّن داخلها أي نوع من القيم.

يُكتب الصف على شكل قائمة من القيم بينها فواصل وداخل أقواس دائرية.

لا يمكِن تغيير القيم في الصف، ولذلك يوصف بأنه هيكل بيانات غير قابل للتعديل.

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

القوائم وصفوف البيانات

فهرسة الصفوف (Tuples indexing)

تتم فهرسة عناصر الصف برقم فريد، بالضبط كما رأيت سابقًا في القوائم. يمكِنك الوصول إلى كل عنصر في الصف بكتابة اسم الصف والرقم التسلسلي للعنصر بين قوسين مربعين.

القوائم وصفوف البيانات

كما ذُكر سابقًا، تعتبر الصفوف تركيب بيانات غير قابل للتغيير، ولا يمكِن إضافة أو إزالة العناصر بعد إنشاء صف بياني.

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

القوائم وصفوف البيانات

بإمكانك مراجعة محتوى موضوع “القوائم وصفوف البيانات” بدايةً من عنوان “الدوال المدمجة” وحتى نهاية الموضوع، من خلال الرابط التالي:

اختبر تحصيلك لمحتوى الموضوع من خلال الرابط التالي:

الواجب الإلكتروني

إلى هنا يكون قد انتهى موضوع “القوائم وصفوف البيانات“، لا تنسوا مراجعة نواتج التعلُّم أعلى المقال، وانتظرونا في الموضوع القادم!

روابط هامة

مقررات الفصل الدراسي الأول

مشاركة المقال عبر:

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *