📝 ملخص الصفحة
📚 أهمية المسافة البادئة والمخطط الانسيابي
المفاهيم الأساسية
المسافة البادئة (Indentation): في لغة بايثون، تغيير المسافة البادئة يغير المقطع البرمجي بأكمله ويؤثر على النتيجة.
خريطة المفاهيم
```markmap
الحلقات المتداخلة (Nested Loops)
التعريف
وضع حلقة داخل حلقة أخرى
الإجراء يسمى: التداخل (Nesting)
المبدأ
يمكن إدخال أي نوع من الحلقات في أي نوع آخر
#### مثال: إدخال حلقة for في حلقة while أو العكس
الأكثر شيوعًا: حلقات for المتداخلة
مثال توضيحي (كود Python)
الحلقة الخارجية: for i in range(3):
الحلقة الداخلية: for j in range(2):
#### تنفذ كاملة لكل تكرار من الحلقة الخارجية
نتيجة التنفيذ
الحلقة الخارجية تكررت 3 مرات
الحلقة الداخلية تكررت 6 مرات (2 * 3)
الإخراج: أزواج القيم (i, j)
#### (0,0), (0,1), (1,0), (1,1), (2,0), (2,1)
مثال آخر (من الصفحة 154)
الحلقة الخارجية: while a<=12:
#### تهيئة: a=4
#### تحديث: a=a+3
الحلقة الداخلية: for i in range(3):
#### تهيئة: i=0
#### شرط: i<3
#### تحديث: i=i+1
نتيجة التنفيذ
#### a= 4 i= 0
#### a= 4 i= 1
#### a= 4 i= 2
#### a= 7 i= 0
#### a= 7 i= 1
#### a= 7 i= 2
#### a= 10 i= 0
#### a= 10 i= 1
#### a= 10 i= 2
المخطط الانسيابي
يوضح منطق المقطع البرمجي
يظهر التكرارات الخارجية والداخلية
مثال الصفحة 155
أهمية المسافة البادئة
#### تغييرها يغير المقطع البرمجي كاملاً في بايثون
المثال البرمجي
#### الحلقة الخارجية: while a<=12:
#### الحلقة الداخلية: for i in range(3):
نتيجة التنفيذ
#### a= 4 i= 0
#### a= 7 i= 1
#### a= 10 i= 2
المخطط الانسيابي للمقطع
#### يوضح مسار التنفيذ خطوة بخطوة
#### مقسم إلى: التكرارات الخارجية والتكرارات الداخلية
```
نقاط مهمة
- المسافة البادئة في بايثون ليست مجرد تنسيق، بل هي جزء من بناء الجملة وتتحكم في تدفق البرنامج.
- المثال في الصفحة يوضح كيف أن تغيير المسافة البادئة سيؤدي إلى نتيجة مختلفة.
- المخطط الانسيابي المرافق يشرح بصريًا منطق البرنامج، ويظهر بوضوح مسار التكرارات الخارجية والداخلية وكيفية تحديث المتغيرات (`a` و `i`).
📋 المحتوى المنظم
📖 محتوى تعليمي مفصّل
نوع: محتوى تعليمي
وضع المسافة البادئة مهم للغاية ويغير المقطع البرمجي بأكمله في بايثون. يمكنك أن ترى أنه إذا غيرت المسافة البادئة في المثال السابق، فإن النتيجة ستكون مختلفة.
Python Code Example
نوع: محتوى تعليمي
a=4
while a<=12:
for i in range(3):
print("a=",a,"i=",i)
a=a+3
Code Output
نوع: محتوى تعليمي
a = 4 i = 0
a = 7 i = 1
a = 10 i = 2
المخطط الإنسيابي للمقطع البرمجي
نوع: محتوى تعليمي
المخطط الإنسيابي للمقطع البرمجي
نوع: NON_EDUCATIONAL
وزارة التعليم
Ministry of Education
2025 - 1447
نوع: NON_EDUCATIONAL
155
🔍 عناصر مرئية
المخطط الإنسيابي للمقطع البرمجي
A flowchart depicting nested loop logic. It consists of an outer 'while' loop and an inner 'for' loop. The flow starts, initializes a variable 'a', checks a condition for the outer loop, initializes another variable 'i' for the inner loop, checks a condition for the inner loop, performs an action (print), updates 'a' and 'i', and then loops back. The flowchart is visually divided into 'التكرارات الخارجية' (Outer Loops) and 'التكرارات الداخلية' (Inner Loops) sections.
📄 النص الكامل للصفحة
وضع المسافة البادئة مهم للغاية ويغير المقطع البرمجي بأكمله في بايثون. يمكنك أن ترى أنه إذا غيرت المسافة البادئة في المثال السابق، فإن النتيجة ستكون مختلفة.
--- SECTION: Python Code Example ---
a=4
while a<=12:
for i in range(3):
print("a=",a,"i=",i)
a=a+3
--- SECTION: Code Output ---
a = 4 i = 0
a = 7 i = 1
a = 10 i = 2
--- SECTION: المخطط الإنسيابي للمقطع البرمجي ---
المخطط الإنسيابي للمقطع البرمجي
وزارة التعليم
Ministry of Education
2025 - 1447
155
--- VISUAL CONTEXT ---
**FLOWCHART**: المخطط الإنسيابي للمقطع البرمجي
Description: A flowchart depicting nested loop logic. It consists of an outer 'while' loop and an inner 'for' loop. The flow starts, initializes a variable 'a', checks a condition for the outer loop, initializes another variable 'i' for the inner loop, checks a condition for the inner loop, performs an action (print), updates 'a' and 'i', and then loops back. The flowchart is visually divided into 'التكرارات الخارجية' (Outer Loops) and 'التكرارات الداخلية' (Inner Loops) sections.
X-axis: N/A
Y-axis: N/A
Data: The flowchart illustrates the execution trace of a Python program with a 'while' loop nested around a 'for' loop (represented as a 'while' loop for 'i').
Execution Trace:
1. **Start**: Program begins.
2. **a=4**: Variable 'a' is initialized to 4.
3. **Outer Loop Condition (a<=12)**: 'a' is 4, so 4 <= 12 is TRUE (صواب).
4. **i=0**: Variable 'i' is initialized to 0 for the inner loop.
5. **Inner Loop Condition (i<3)**: 'i' is 0, so 0 < 3 is TRUE (صواب).
6. **print("a=",a,"i=",i)**: Prints "a= 4 i= 0".
7. **a=a+3**: 'a' becomes 4 + 3 = 7.
8. **i=i+1**: 'i' becomes 0 + 1 = 1.
9. **Inner Loop Condition (i<3)**: 'i' is 1, so 1 < 3 is TRUE (صواب).
10. **print("a=",a,"i=",i)**: Prints "a= 7 i= 1".
11. **a=a+3**: 'a' becomes 7 + 3 = 10.
12. **i=i+1**: 'i' becomes 1 + 1 = 2.
13. **Inner Loop Condition (i<3)**: 'i' is 2, so 2 < 3 is TRUE (صواب).
14. **print("a=",a,"i=",i)**: Prints "a= 10 i= 2".
15. **a=a+3**: 'a' becomes 10 + 3 = 13.
16. **i=i+1**: 'i' becomes 2 + 1 = 3.
17. **Inner Loop Condition (i<3)**: 'i' is 3, so 3 < 3 is FALSE (خطأ). Exit inner loop.
18. **Outer Loop Condition (a<=12)**: 'a' is 13, so 13 <= 12 is FALSE (خطأ). Exit outer loop.
19. **End**: Program terminates.
This trace matches the provided 'Code Output' section.
Key Values: Initial value of a: 4, Outer loop condition: a <= 12, Inner loop initialization: i = 0, Inner loop condition: i < 3, Increment for a: +3 per inner loop iteration, Increment for i: +1 per inner loop iteration, Output values for (a, i) pairs: (4, 0), (7, 1), (10, 2)
Context: This flowchart serves as a visual aid to understand the execution flow of a Python program, particularly demonstrating nested loops and how variable states change with each iteration. It highlights the importance of conditions and update statements in controlling program flow and producing specific outputs. It directly corresponds to the provided Python code and its output, allowing for a step-by-step verification of the program's logic.
🎴 بطاقات تعليمية للمراجعة
عدد البطاقات: 5 بطاقة لهذه الصفحة
في المخطط الانسيابي للمثال، ما الشرط الذي يجب أن يكون صحيحاً (TRUE) لاستمرار الحلقة الخارجية (while)؟
- أ) i < 3
- ب) a <= 12
- ج) a >= 4
- د) i <= 3
الإجابة الصحيحة: b
الإجابة: a <= 12
الشرح: 1. الحلقة الخارجية في الكود تبدأ بـ `while a<=12:`.
2. هذا يعني أن الشرط للاستمرار هو أن تكون قيمة المتغير 'a' أقل من أو تساوي 12.
3. عندما تصبح 'a' = 13، يصبح الشرط خاطئاً (FALSE) وتتوقف الحلقة.
تلميح: انظر إلى بداية الحلقة الخارجية في الكود والمخطط.
التصنيف: مفهوم جوهري | المستوى: سهل
بناءً على تتبع التنفيذ في المخطط الانسيابي، ما هي القيمة النهائية للمتغير 'a' عند انتهاء البرنامج؟
الإجابة الصحيحة: c
الإجابة: 13
الشرح: 1. تبدأ 'a' بقيمة 4.
2. في كل تكرار كامل للحلقة الداخلية، تزيد 'a' بمقدار 3 (a = a + 3).
3. بعد الطباعة الثالثة، تصبح 'a' = 10 + 3 = 13.
4. يتم فحص الشرط `a <= 12` (13 <= 12) ويكون خطأ، فيتوقف البرنامج.
5. القيمة النهائية لـ 'a' هي 13.
تلميح: تتبع الخطوة التي يخرج فيها البرنامج من الحلقة الخارجية.
التصنيف: سؤال اختبار | المستوى: متوسط
ما هو نوع الحلقات المستخدم في المثال البرمجي الموضح في الصفحة؟
- أ) حلقة for متداخلة داخل حلقة while
- ب) حلقتان while متداخلتان
- ج) حلقتان for متداخلتان
- د) حلقة while متداخلة داخل حلقة for
الإجابة الصحيحة: a
الإجابة: حلقة for متداخلة داخل حلقة while
الشرح: 1. الحلقة الخارجية تبدأ بـ `while a<=12:` وهي حلقة while.
2. داخل كتلة حلقة while، توجد الحلقة `for i in range(3):` وهي حلقة for.
3. لذلك، التركيب هو حلقة for داخل حلقة while، أو حلقتان متداخلتان من نوعين مختلفين.
تلميح: حدد الحلقة الخارجية والحلقة الداخلية في الكود.
التصنيف: تعريف | المستوى: سهل
في لغة بايثون، ما الذي يحدث إذا قمت بتغيير المسافة البادئة (Indentation) داخل مقطع برمجي يحتوي على حلقات تكرار؟
- أ) يظهر خطأ في بناء الجملة (Syntax Error) فقط.
- ب) يتغير المقطع البرمجي بأكمله وقد تختلف النتيجة النهائية.
- ج) لا يتغير شيء، لأن المسافة البادئة للقراءة فقط.
- د) يتم تنفيذ الكود بشكل أبطأ.
الإجابة الصحيحة: b
الإجابة: يتغير المقطع البرمجي بأكمله وقد تختلف النتيجة النهائية.
الشرح: 1. المسافة البادئة في بايثون تحدد بنية الكود وحدود الكتل البرمجية (مثل الحلقات والشروط).
2. تغييرها يغير العلاقة بين الأوامر.
3. في المثال المعطى، تغيير المسافة البادئة سيغير متى تتم زيادة المتغير 'a'، وبالتالي سيختلف عدد مرات التنفيذ والقيم المطبوعة.
تلميح: فكر في كيفية تفسير بايثون للبنية المنطقية للكود.
التصنيف: مفهوم جوهري | المستوى: سهل
في المثال البرمجي المعطى (حلقة while داخلها for)، كم مرة ستطبع الحلقة الداخلية (for) رسالة واحدة قبل أن تزيد قيمة المتغير 'a'؟
- أ) مرة واحدة فقط
- ب) مرتين
- ج) 3 مرات
- د) 4 مرات
الإجابة الصحيحة: c
الإجابة: 3 مرات
الشرح: 1. الحلقة الداخلية هي `for i in range(3):`.
2. الدالة `range(3)` تولد الأرقام من 0 إلى 2 (ثلاثة أرقام).
3. لذلك، لكل قيمة من 'a'، ستطبع الحلقة الداخلية 3 رسائل (عند i=0, i=1, i=2).
تلميح: انظر إلى شرط الحلقة الداخلية `range(3)`.
التصنيف: سؤال اختبار | المستوى: متوسط