📄 النص الكامل للصفحة
{
"language": "ar",
"direction": "rtl",
"page_context": {
"page_title": "تمرينات",
"page_type": "exercises",
"main_topics": [
"Data Structures",
"Python Programming",
"Linked Lists",
"Fixed Data Structures",
"Variable Data Structures"
],
"headers": [
"تمرينات",
"صحيحة",
"خاطئة",
"هياكل البيانات الثابتة",
"هياكل البيانات المتغيرة"
],
"has_questions": true,
"has_formulas": false,
"has_examples": false,
"has_visual_elements": true
},
"sections": [
{
"order": 1,
"type": "title",
"content_classification": "METADATA",
"question_indicators": {
"has_question_words": false,
"has_numbering": false,
"has_multiple_choice": false,
"has_instruction_words": false
},
"title": "تمرينات",
"content": "تمرينات"
},
{
"order": 2,
"type": "exercise",
"content_classification": "QUESTION",
"question_indicators": {
"has_question_words": true,
"has_numbering": true,
"has_multiple_choice": false,
"has_instruction_words": true
},
"title": "1",
"content": "حدد الجملة الصحيحة والجملة الخاطئة فيما يلي:\n1. لغة البايثون تعرف هياكل البيانات غير الأولية.\n2. هياكل البيانات الخطية تخزن عناصر البيانات في ترتيب عشوائي فقط.\n3. إضافة العناصر وحذفها من القائمة المترابطة (Linked List) أبطأ من القائمة (List).\n4. يمكن الوصول إلى العناصر في القائمة باستخدام رقم الفهرس فقط.\n5. يمكن تغيير حجم هيكل البيانات الثابتة أثناء تنفيذ البرنامج."
},
{
"order": 3,
"type": "exercise",
"content_classification": "QUESTION",
"question_indicators": {
"has_question_words": true,
"has_numbering": true,
"has_multiple_choice": false,
"has_instruction_words": true
},
"title": "2",
"content": "حدد الاختلافات بين هياكل البيانات الثابتة والمتغيرة."
},
{
"order": 4,
"type": "exercise",
"content_classification": "QUESTION",
"question_indicators": {
"has_question_words": true,
"has_numbering": true,
"has_multiple_choice": false,
"has_instruction_words": true
},
"title": "3",
"content": "اكتب مثالين لاستخدامات القوائم المترابطة."
},
{
"order": 5,
"type": "metadata",
"content_classification": "METADATA",
"question_indicators": {
"has_question_words": false,
"has_numbering": false,
"has_multiple_choice": false,
"has_instruction_words": false
},
"title": null,
"content": "وزارة التعليم\nMinistry of Education\n2025 - 1447\n50"
}
],
"visual_elements": [
{
"type": "table",
"title": "جدول لمقارنة هياكل البيانات الثابتة والمتغيرة",
"description": "A table with two columns for comparing fixed and variable data structures, with empty rows for students to fill in answers.",
"axes_labels": {
"x_axis": null,
"y_axis": null
},
"data_description": "The table is empty, designed for students to list differences between fixed and variable data structures.",
"key_values": [],
"numeric_data": null,
"table_structure": {
"headers": [
"هياكل البيانات الثابتة",
"هياكل البيانات المتغيرة"
],
"rows": [
[
"EMPTY",
"EMPTY"
],
[
"EMPTY",
"EMPTY"
],
[
"EMPTY",
"EMPTY"
],
[
"EMPTY",
"EMPTY"
],
[
"EMPTY",
"EMPTY"
]
],
"empty_cells": "All cells are empty, to be filled by the student.",
"calculation_context": "Comparison and contrast of properties of fixed vs. variable data structures."
},
"educational_context": "Provides a structured format for students to list differences between fixed and variable data structures as requested by Question 2.",
"estimated": false
}
]
}
📝 أسئلة اختبارية
عدد الأسئلة: 8
سؤال 1: حدد الجملة الصحيحة والجملة الخاطئة فيما يلي:
الإجابة الصحيحة: انظر الأسئلة الفرعية
الشرح: هذا سؤال رئيسي يحتوي على أسئلة فرعية
تلميح: راجع الأسئلة الفرعية أدناه
سؤال 2: حدد الاختلافات بين هياكل البيانات الثابتة والمتغيرة
- أ) الهياكل الثابتة: حجم ثابت، أسرع وصول، أمثلة: المصفوفات. الهياكل المتغيرة: حجم متغير، مرنة، أمثلة: القوائم المترابطة
- ب) الهياكل الثابتة: حجم متغير، أبطأ وصول، أمثلة: القوائم. الهياكل المتغيرة: حجم ثابت، أقل مرونة، أمثلة: المصفوفات
- ج) الهياكل الثابتة والمتغيرة متشابهان تماماً في الخصائص والأداء
- د) الهياكل الثابتة تستخدم فقط في الذاكرة الرئيسية، بينما المتغيرة تستخدم في التخزين الثانوي
الإجابة الصحيحة: الهياكل الثابتة: حجم ثابت، أسرع وصول، أمثلة: المصفوفات. الهياكل المتغيرة: حجم متغير، مرنة، أمثلة: القوائم المترابطة
الشرح: الهياكل الثابتة لها حجم محدد مسبقاً ولا يمكن تغييره، بينما الهياكل المتغيرة يمكن تغيير حجمها ديناميكياً أثناء التنفيذ
تلميح: فكر في المرونة والسرعة واستخدام الذاكرة
سؤال 3: اكتب مثالين لاستخدامات القوائم المترابطة
- أ) 1. تنفيذ المكدس (Stack) والطابور (Queue). 2. إدارة الذاكرة في أنظمة التشغيل
- ب) 1. تخزين الصور الرقمية. 2. معالجة النصوص فقط
- ج) 1. تنفيذ قواعد البيانات العلائقية. 2. تخزين الملفات في القرص الصلب
- د) 1. تنفيذ الرسوم البيانية ثلاثية الأبعاد. 2. تشفير البيانات الأمني
الإجابة الصحيحة: 1. تنفيذ المكدس (Stack) والطابور (Queue). 2. إدارة الذاكرة في أنظمة التشغيل
الشرح: القوائم المترابطة تستخدم في هياكل البيانات الديناميكية وتطبيقات تتطلب إضافة وحذف متكرر
تلميح: فكر في التطبيقات التي تتطلب مرونة في حجم البيانات
سؤال 1: لغة البايثون تعرف هياكل البيانات غير الأولية
الإجابة الصحيحة: صحيحة
الشرح: بايثون تدعم هياكل البيانات غير الأولية مثل القوائم والقواميس والمجموعات
تلميح: فكر في أنواع البيانات في بايثون
سؤال 1: هياكل البيانات الخطية تخزن عناصر البيانات في ترتيب عشوائي فقط
الإجابة الصحيحة: خاطئة
الشرح: هياكل البيانات الخطية تخزن العناصر في ترتيب متسلسل وليس عشوائي
تلميح: ما هي خاصية الهياكل الخطية؟
سؤال 1: إضافة العناصر وحذفها من القائمة المترابطة (Linked List) أبطأ من القائمة (List)
الإجابة الصحيحة: خاطئة
الشرح: القوائم المترابطة أسرع في الإضافة والحذف لأنها لا تحتاج لإعادة تخصيص الذاكرة
تلميح: قارن بين أداء القوائم المترابطة والقوائم العادية
سؤال 1: يمكن الوصول إلى العناصر في القائمة باستخدام رقم الفهرس فقط
الإجابة الصحيحة: صحيحة
الشرح: في القوائم العادية (List)، يتم الوصول للعناصر باستخدام الفهرس (index)
تلميح: كيف تصل إلى عنصر في قائمة بايثون؟
سؤال 1: يمكن تغيير حجم هيكل البيانات الثابتة أثناء تنفيذ البرنامج
الإجابة الصحيحة: خاطئة
الشرح: هياكل البيانات الثابتة لا يمكن تغيير حجمها أثناء التنفيذ، على عكس الهياكل المتغيرة
تلميح: ما الفرق بين الهياكل الثابتة والمتغيرة؟
🎴 بطاقات تعليمية للمراجعة
عدد البطاقات: 5 بطاقة لهذه الصفحة
ما هي الميزة الرئيسية التي تميز لغة البايثون فيما يتعلق بتعريف هياكل البيانات؟
الإجابة: لغة البايثون تعرف هياكل البيانات غير الأولية، مما يمنحها مرونة في التعامل مع البيانات المعقدة.
الشرح: تتعامل لغات البرمجة مع أنواع مختلفة من البيانات. هياكل البيانات غير الأولية (Non-primitive data structures) هي هياكل تتكون من هياكل بيانات أولية (Primitive data structures) أو هياكل بيانات غير أولية أخرى، وتوفر طرقًا أكثر تعقيدًا لتنظيم وتخزين البيانات. لغة البايثون تدعم تعريف وإنشاء هذه الهياكل.
تلميح: ابحث عن نوع البيانات الذي تتجاوز فيه البايثون الأنواع الأساسية مثل الأرقام والنصوص.
لماذا يعتبر وصف هياكل البيانات الخطية بأنها تخزن عناصر البيانات في ترتيب عشوائي فقط خاطئًا؟
الإجابة: هياكل البيانات الخطية تخزن عناصر البيانات في تسلسل مرتب، حيث يرتبط كل عنصر بالعنصر الذي يسبقه والذي يليه (باستثناء العنصر الأول والأخير).
الشرح: البيانات الخطية تعني أن العناصر منظمة في خط أو تسلسل. هذا يختلف عن الهياكل غير الخطية مثل الأشجار أو الرسوم البيانية التي قد يكون لها ترتيب أكثر تعقيدًا أو عشوائية. في هياكل البيانات الخطية، هناك علاقة واضحة بين العناصر المتجاورة.
تلميح: فكر في معنى كلمة 'خطية' وكيف تشير إلى الترتيب.
فيما يتعلق بعمليات الإضافة والحذف، ما هو الفارق في الأداء بين القائمة المترابطة (Linked List) والقائمة (List) في البايثون؟
الإجابة: إضافة العناصر وحذفها من القائمة المترابطة (Linked List) أسرع بشكل عام من القائمة (List) في البايثون، خاصة عند الإضافة أو الحذف في بداية أو منتصف الهيكل.
الشرح: القوائم المترابطة تسمح بإعادة ترتيب المؤشرات بكفاءة عالية عند الإضافة أو الحذف، مما يعني أن العملية لا تتطلب إعادة ترتيب العناصر الأخرى. بينما في قوائم البايثون (List)، قد تتطلب عمليات الإضافة والحذف في المنتصف أو البداية نقل أو إعادة ترتيب العديد من العناصر، مما يجعلها أبطأ.
تلميح: قارن كيفية تخزين العناصر في كل هيكل ومدى سهولة تعديل المؤشرات أو إعادة ترتيب العناصر.
ما هي الطريقة الأساسية للوصول إلى العناصر في بنية بيانات معينة، وما هي البنية التي تعتمد على هذه الطريقة حصريًا؟
الإجابة: يمكن الوصول إلى العناصر في القائمة باستخدام رقم الفهرس الخاص بها. وهذا هو السبيل الوحيد للوصول إلى العناصر في بعض أنواع هياكل البيانات.
الشرح: الفهرس (Index) هو رقم يحدد موقع العنصر في تسلسل. القوائم (Lists) في البايثون تسمح بالوصول المباشر باستخدام الفهرس. هناك هياكل بيانات أخرى تعتمد على هذه الطريقة، مثل المصفوفات (Arrays).
تلميح: فكر في كيفية تحديد موقع كل عنصر داخل هيكل بيانات متسلسل.
ما هو التحدي الرئيسي عند التعامل مع هياكل البيانات الثابتة من حيث تغيير حجمها؟
الإجابة: لا يمكن تغيير حجم هيكل البيانات الثابتة أثناء تنفيذ البرنامج؛ يجب تحديد حجمه مسبقًا.
الشرح: الهياكل الثابتة، مثل المصفوفات ذات الحجم المحدد، لها مساحة تخزين ثابتة محجوزة. إذا حاولت إضافة المزيد من العناصر مما هو مخصص، ستواجه خطأ. بينما الهياكل المتغيرة يمكن أن تنمو أو تتقلص حسب الحاجة.
تلميح: فكر في معنى كلمة 'ثابتة' واربطها بقدرة الهيكل على التكيف مع التغيرات.