الثانوية العامة 2026الاستعلام عن النتيجةاعرف الكليات المناسبة لمجموعكتنسيق 2026

البرمجة والذكاء الاصطناعي · الصف الأول الثانوي · الترم الأول

البرمجة التطبيقية (1): المصفوفات (القوائم) أحادية وثنائية الأبعاد

المصفوفة (القائمة) في Python وتعريفها، والعناصر وأرقامها (index) التي تبدأ من صفر، وإضافة عنصر بالدالة append، والمرور على العناصر بحلقة for، وإيجاد أصغر قيمة، والمصفوفة ثنائية الأبعاد والوصول إلى عناصرها.

آخر تحديث: · كيف نراجع المحتوى

أهداف التعلم

  • أن تعرّف المصفوفة (القائمة) وتنشئها في Python.
  • أن تصل إلى عنصر برقمه (index) مع مراعاة أن الترقيم يبدأ من 0.
  • أن تضيف عناصر إلى نهاية المصفوفة بالدالة append.
  • أن تعالج عناصر المصفوفة بحلقة for، مثل إيجاد المجموع أو أصغر قيمة.
  • أن تتعامل مع المصفوفة ثنائية الأبعاد.

شرح الدرس

المصفوفة (القائمة)

المصفوفة أو القائمة (Array / list): مجموعة من عناصر البيانات مرتبة بالتسلسل، تسمح بإدارة البيانات بشكل جماعي.

week = ['Sat', 'Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri']
number = [7, 22, 11, 34, 17]

العناصر وأرقامها

  • العنصر (Element): كل قيمة داخل المصفوفة.
  • رقم العنصر (Index): رقم مكانه، ويُكتب بين قوسين مربعين بعد اسم المصفوفة: number[2].
  • الترقيم يبدأ من 0 وليس من 1.
العنصر722113417
الرقم (index)01234

فـ number[0] هو 7، وnumber[2] هو 11، وآخر عنصر number[4] هو 17.

إضافة عنصر: append

a = []
a.append(1)
a.append(4)
a.append(9)
print(a)

ناتج التنفيذ: [1, 4, 9]. المصفوفة [] فارغة، وappend تضيف العنصر إلى نهايتها.

المرور على العناصر بحلقة for

باستخدام متغير مثل i رقمًا للعنصر نعالج العناصر واحدًا تلو الآخر:

a = [7, 22, 11, 34, 17]
for i in range(0, 5, 1):
    print(a[i])

يعرض العناصر الخمسة بالترتيب؛ لأن i تأخذ القيم 0 إلى 4.

المصفوفة ثنائية الأبعاد

المصفوفة ثنائية الأبعاد: تدير البيانات في صفوف وأعمدة، ونحدد العنصر برقمين: a[i][j] حيث i رقم الصف وj رقم العمود، وكلاهما يبدأ من 0.

a = [['A', 'B', 'C'],
     ['D', 'E', 'F']]
print(a[0][0])
print(a[1][2])

ناتج التنفيذ: A (الصف 0، العمود 0) ثم F (الصف 1، العمود 2).

أمثلة وتطبيقات

مثال 1: إذا كانت a = [57, 16, 29, 44] فإن print(a[2]) تعرض 29 (العنصر الثالث).

مثال 2: إذا كانت b = [[1, 2, 3], [4, 5, 6], [7, 8, 9]] فإن print(b[2][1]) تعرض 8 (الصف الثالث، العمود الثاني).

مثال 3 (مجموع الدرجات):

s = [12, 7, 20, 15]
total = 0
for i in range(0, 4):
    total = total + s[i]
print(total)

ناتج التنفيذ: 54.

مثال 4 (أصغر قيمة):

a = [34, 52, 11, 40, 17]
min_value = a[0]
for i in range(1, 5, 1):
    if a[i] < min_value:
        min_value = a[i]
print(min_value)

الفكرة: نفترض أن أول عنصر هو الأصغر، ثم نقارن به بقية العناصر بالترتيب، وكلما وجدنا عنصرًا أصغر حدّثنا القيمة. ناتج التنفيذ: 11.

ia[i]هل a[i] أصغر؟min_value بعد المقارنة
البداية34
152لا34
211نعم11
340لا11
417لا11

ملاحظات مهمة

  • أشهر خطأ للمبتدئين: اعتبار أول عنصر رقمه 1. تذكر أن أول عنصر رقمه 0، وآخر عنصر في مصفوفة من nn عناصر رقمه n−1n - 1.
  • طلب عنصر برقم غير موجود (مثل number[5] في مصفوفة من 5 عناصر) يسبب خطأ.
  • في المصفوفة ثنائية الأبعاد: الرقم الأول للصف والثاني للعمود.
  • في مثال أصغر قيمة بدأت الحلقة من 1 لأن العنصر رقم 0 استُخدم قيمةً ابتدائية.

المفاهيم الأساسية

  • المصفوفة (القائمة): عناصر مرتبة بالتسلسل داخل [ ].
  • رقم العنصر (index) يبدأ من 0، ونصل إلى العنصر بـ name[index].
  • append تضيف عنصرًا إلى نهاية المصفوفة.
  • حلقة for مع a[i] تعالج العناصر واحدًا تلو الآخر.
  • المصفوفة ثنائية الأبعاد: a[i][j]، الصف ثم العمود.

ملخص الدرس

المصفوفة (القائمة) تخزن مجموعة بيانات مرتبة في متغير واحد، ونصل إلى كل عنصر برقمه الذي يبدأ من صفر. ونضيف العناصر إلى نهايتها بالدالة append، ونمر على عناصرها بحلقة for لإيجاد المجموع أو أصغر قيمة مثلًا. أما المصفوفة ثنائية الأبعاد فتنظم البيانات في صفوف وأعمدة، ونحدد عنصرها برقمي الصف والعمود.

أسئلة للتدريب

  1. إذا كانت a = [1, 4, 9, 16, 25] فما ناتج print(a[3])؟
  2. ما ناتج البرنامج: a = [] ثم a.append(8) ثم a.append(28) ثم print(a[1])؟
  3. في المصفوفة [['A', 'B', 'C', 'D', 'E'], ['F', 'G', 'H', 'I', 'J'], ['K', 'L', 'M', 'N', 'O']] ما قيمة العنصر [2][1]؟
  4. عدّل برنامج أصغر قيمة ليجد أكبر قيمة في المصفوفة.
  5. اكتب برنامجًا يعرض كل عناصر المصفوفة week باستخدام حلقة for.
حلّ أسئلة هذا الدرساختبر فهمك بأسئلة اختيار من متعدد وأسئلة مقالية مع نموذج إجابة، أو خض اختبارًا تفاعليًا سريعًا
أبلغ عن خطأ في هذا الدرس