📚 مثال آخر للحلقات المتداخلة
المفاهيم الأساسية
المسافة البادئة في الحلقات المتداخلة: تحدد الأوامر التي يتم تضمينها في كل حلقة.
خريطة المفاهيم
```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
المخطط الانسيابي
يوضح منطق المقطع البرمجي
يظهر التكرارات الخارجية والداخلية
```
نقاط مهمة
- المثال يوضح تداخل حلقة `for` داخل حلقة `while`.
- قيمة المتغير الخارجي `a` تبقى ثابتة طوال تنفيذ الحلقة الداخلية الكاملة (`for i in range(3)`).
- يتم تحديث المتغير الخارجي `a` (بزيادة 3) بعد انتهاء كل تكرار كامل للحلقة الداخلية.
- المسافة البادئة (Indentation) تحدد بدقة أي الأوامر تنتمي إلى أي حلقة.