أوجه الاختلاف بين الصفوف والقوائم: - كتاب المهارات الرقمية - الصف 9 - الفصل 1 - المملكة العربية السعودية

الكتاب: كتاب المهارات الرقمية - الصف 9 - الفصل 1 | المادة: المهارات الرقمية | المرحلة: الصف 9 | الفصل الدراسي: 1

الدولة: المملكة العربية السعودية | المنهج: المنهج السعودي - وزارة التعليم

الدرس: أوجه الاختلاف بين الصفوف والقوائم:

📚 معلومات الصفحة

الكتاب: كتاب المهارات الرقمية - الصف 9 - الفصل 1 | المادة: المهارات الرقمية | المرحلة: الصف 9 | الفصل الدراسي: 1

الدولة: المملكة العربية السعودية | المنهج: المنهج السعودي - وزارة التعليم

نوع المحتوى: درس تعليمي

📝 ملخص الصفحة

📚 أوجه الاختلاف بين الصفوف والقوائم

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

الصف (Tuple): تركيب بيانات غير قابل للتغيير (ثابت). لا يمكن إضافة أو إزالة أو تعديل عناصره بعد الإنشاء.

خريطة المفاهيم

```markmap

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

هياكل البيانات غير البسيطة (Non-primitive)

هياكل خطية (Linear)

  • List
#### تعريف القائمة

  • صيغة: List_Name=[item1, item2,...,itemN]
  • عناصر القائمة
  • متغير يمثل اسم القائمة
#### فهرسة القوائم (List Indexing)

  • الوصول للعناصر: اسم_القائمة[رقم_الفهرس]
  • الفهرس يبدأ من الصفر (0)
##### الفهرسة الموجبة

  • fruits[0] → العنصر الأول ("apple")
  • fruits[2] → العنصر الثالث ("banana")
##### الفهرسة السالبة

  • fruits[-1] → العنصر الأخير ("banana")
  • fruits[-2] → العنصر الثاني قبل الأخير ("orange")
#### التكرار على القوائم

  • استخدام حلقة `for`
#### استخدام الدوال مع القوائم

##### دوال تعيد قيمة (لا تغير القائمة)

###### دالة len()

  • مثال: `gradesItems=len(grades)`
###### دالة sum()

  • مثال: `myGrades=sum(grades)`
###### دالة max()

  • الوظيفة: تعرض أكبر عنصر في القائمة.
  • مثال: `maxGrade=max(grades)`
###### دالة min()

  • الوظيفة: تعرض أصغر عنصر في القائمة.
  • مثال: `minGrade=min(grades)`
##### دوال تغير القائمة (دوال مدمجة)

###### listName.append(x)

  • الوظيفة: تضيف العنصر x لنهاية القائمة.
###### listName.remove(x)

  • الوظيفة: تزيل العنصر x من القائمة.
###### listName.count(x)

  • الوظيفة: تحسب عدد مرات ظهور x داخل القائمة.
###### listName.sort()

  • الوظيفة: ترتب عناصر القائمة تصاعدياً.
###### listName.reverse()

  • الوظيفة: ترتب عناصر القائمة عكسياً.
###### listName.clear()

  • الوظيفة: تزيل كافة العناصر من القائمة.
  • Tuple
#### تعريف الصف (Tuple)

  • صيغة: tuple_name=(item1,item2,...,itemN)
  • عناصر الصف
  • متغير يمثل اسم الصف
#### فهرسة الصفوف (Tuples Indexing)

  • الوصول للعناصر: اسم_الصف[رقم_الفهرس]
  • الفهرس يبدأ من الصفر (0)
##### الفهرسة الموجبة

  • fruits[1] → العنصر الثاني ("orange")
##### الفهرسة السالبة

  • fruits[-1] → العنصر الأخير ("banana")
  • fruits[-2] → العنصر الثاني قبل الأخير ("orange")
#### التكرار على الصفوف

  • استخدام حلقة `for`
#### خاصية عدم القابلية للتعديل (Immutability)

  • محاولة تعديل عنصر تسبب خطأ: `TypeError: 'tuple' object does not support item assignment`

هياكل غير خطية (Non-linear)

  • Graph
  • Tree
```

نقاط مهمة

* محاولة تعديل عنصر داخل صف (Tuple) ستتسبب في خطأ برمجي من نوع `TypeError`.

* الخطأ النموذجي: `'tuple' object does not support item assignment`.

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

المقارنة

| الصف (Tuple) | القائمة (List) |

| :--- | :--- |

| توجد القيم داخل أقواس دائرية `( )`. | توجد القيم داخل أقواس مربعة `[ ]`. |

| القيم غير قابلة للتعديل (ثابتة). | القيم قابلة للتعديل (متغيرة). |

📋 المحتوى المنظم

📖 محتوى تعليمي مفصّل

نوع: محتوى تعليمي

PersonalInfo = ("Khaled", "khaled@edu.sa", 1234) PersonalInfo[0] = "Saad" print(PersonalInfo[0])

نوع: محتوى تعليمي

Traceback (most recent call last): File "C:/Users/PyCharmProjects/PythonProject3/ main.py", line 2, in <module> PersonalInfo[0]="Saad" TypeError: 'tuple' object does not support item assignment

نوع: محتوى تعليمي

تلقيت رسالة خطأ تفيد بأن الصف لا يدعم تعيين العنصر.

أوجه الاختلاف بين الصفوف والقوائم:

نوع: محتوى تعليمي

الصف القائمة

نوع: محتوى تعليمي

توجد القيم داخل أقواس مربعة [ ]. القيم الصفوف غير قابلة للتعديل. توجد القيم داخل أقواس دائرية ( ). القيم داخل الصفوف قابلة للتعديل.

نوع: METADATA

وزارة التعليم Ministry of Education 2025 - 1447

📄 النص الكامل للصفحة

PersonalInfo = ("Khaled", "khaled@edu.sa", 1234) PersonalInfo[0] = "Saad" print(PersonalInfo[0]) Traceback (most recent call last): File "C:/Users/PyCharmProjects/PythonProject3/ main.py", line 2, in <module> PersonalInfo[0]="Saad" TypeError: 'tuple' object does not support item assignment تلقيت رسالة خطأ تفيد بأن الصف لا يدعم تعيين العنصر. --- SECTION: أوجه الاختلاف بين الصفوف والقوائم: --- الصف القائمة توجد القيم داخل أقواس مربعة [ ]. القيم الصفوف غير قابلة للتعديل. توجد القيم داخل أقواس دائرية ( ). القيم داخل الصفوف قابلة للتعديل. وزارة التعليم Ministry of Education 2025 - 1447

🎴 بطاقات تعليمية للمراجعة

عدد البطاقات: 3 بطاقة لهذه الصفحة

ما الفرق الرئيسي بين الصف (Tuple) والقائمة (List) في بايثون من حيث قابلية التعديل؟

  • أ) الصف يستخدم أقواس مربعة والقائمة تستخدم أقواس دائرية.
  • ب) القيم داخل الصفوف غير قابلة للتعديل، بينما القيم داخل القوائم قابلة للتعديل.
  • ج) الصف أسرع في الوصول للبيانات من القائمة.
  • د) القائمة تحتوي على أنواع بيانات مختلطة فقط.

الإجابة الصحيحة: b

الإجابة: القيم داخل الصفوف غير قابلة للتعديل، بينما القيم داخل القوائم قابلة للتعديل.

الشرح: 1. الصف (Tuple) في بايثون هو هيكل بيانات غير قابل للتغيير (Immutable). 2. القائمة (List) في بايثون هي هيكل بيانات قابل للتغيير (Mutable). 3. محاولة تعديل عنصر في الصف تسبب خطأ TypeError. 4. محاولة تعديل عنصر في القائمة تكون ناجحة.

تلميح: فكر في نوع الخطأ الذي يظهر عند محاولة تغيير قيمة في هيكل بيانات معين.

التصنيف: فرق بين مفهومين | المستوى: سهل

ما نوع الخطأ الذي يظهر عند محاولة تعديل عنصر في صف (Tuple) في بايثون؟

  • أ) SyntaxError
  • ب) NameError
  • ج) ValueError
  • د) TypeError

الإجابة الصحيحة: d

الإجابة: TypeError

الشرح: 1. الصف (Tuple) هو هيكل بيانات غير قابل للتغيير. 2. محاولة تعيين قيمة جديدة لأحد عناصره (مثل PersonalInfo[0] = 'Saad') تُعتبر عملية غير مدعومة. 3. المفسر (Interpreter) يكتشف هذه المحاولة غير الصالحة. 4. يرفع المفسر استثناء (Exception) من نوع TypeError.

تلميح: يبدأ اسم الخطأ بـ 'Type' ويشير إلى أن العملية غير مدعومة لنوع البيانات هذا.

التصنيف: مفهوم جوهري | المستوى: متوسط

أي مما يلي يمثل بناء صحيح لصف (Tuple) في بايثون؟

  • أ) [1, 2, 3]
  • ب) (1, 2, 3)
  • ج) {1, 2, 3}
  • د) 1, 2, 3

الإجابة الصحيحة: b

الإجابة: (1, 2, 3)

الشرح: 1. الصف (Tuple) يُعرّف باستخدام الأقواس الدائرية (). 2. القائمة (List) تُعرّف باستخدام الأقواس المربعة []. 3. الخيار (1, 2, 3) يستخدم الأقواس الدائرية، مما يجعله صفاً. 4. الخيارات الأخرى تستخدم الأقواس المربعة أو لا تستخدم أقواساً بشكل صحيح لتعريف الصف.

تلميح: تذكر نوع الأقواس المستخدمة في تعريف كل هيكل بيانات.

التصنيف: سؤال اختبار | المستوى: سهل