📚 قواعد الحلقات المتداخلة
المفاهيم الأساسية
الحلقات المتداخلة: وضع حلقة داخل حلقة أخرى.
خريطة المفاهيم
```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
المخطط الانسيابي للمقطع
#### يوضح مسار التنفيذ خطوة بخطوة
#### مقسم إلى: التكرارات الخارجية والتكرارات الداخلية
القواعد
يجب أن تكون كل حلقة داخلية مدمجة بالكامل داخل الحلقة الخارجية
لا يمكن أن تتشابك الحلقات
لا يمكن استخدام نفس المتغير كعداد لحلقتين متداخلتين أو أكثر
الحلقة الداخلية يجب أن تكتمل أولاً
الحلقة الداخلية تنفذ جميع تكراراتها لكل تكرار من تكرارات الحلقة الخارجية
مثال توضيحي (الساعة الرقمية)
مثال من العالم الحقيقي
تحتاج إلى 3 حلقات متداخلة
#### الحلقة الأولى: تتبع الساعات (0-23)
#### الحلقة الثانية: تتبع الدقائق (0-59)
#### الحلقة الثالثة: تتبع الثواني (0-59)
كود Python
#### for hour in range (24):
#### for min in range (60):
#### for sec in range (60):
##### print(hour,":",min,":",sec)
آلية التنفيذ
#### الحلقة الخارجية (الساعات) تتكرر 24 مرة
#### الحلقة الوسطى (الدقائق) تتكرر 60 مرة لكل تكرار واحد للحلقة الخارجية
#### الحلقة الداخلية (الثواني) تتكرر 60 مرة لكل تكرار واحد للحلقة الوسطى
الناتج
#### يبدأ بـ 0:0:0 وينتهي بـ 23:59:59
```
نقاط مهمة
- الحلقات المتداخلة يجب أن تكون متضمنة بالكامل داخل بعضها البعض، وليست متشابكة.
- لا يمكن استخدام نفس المتغير كعداد (مثل `i`) لحلقتين متداخلتين.
- ترتيب التنفيذ: تبدأ الحلقة الخارجية، ثم تنفذ الحلقة الداخلية جميع تكراراتها، ثم تعود الحلقة الخارجية للتكرار التالي.
- مثال الساعة الرقمية يوضح كيف تعمل ثلاث حلقات متداخلة معًا لمحاكاة مرور الوقت.