الحلقات المتداخلة | الوحدة الثالثة | الدرس الثاني
الحلقات المتداخلة هو عنوان الدرس الثاني من الوحدة الثالثة التي تحمل اسم “البرمجة مع بايثون” في الفصل الدراسي الثاني من مقرر “المهارات الرقمية – ثاني متوسط”.
سنتعرف في هذا الموضوع على حلقة for، واستخدامها في بايثون، كذلك التعرَّف على كتابة المسافة البادئة في الحلقات، ودالة النطاق (range)، بالإضافة للتعرُّف على حلقة while الشرطية، والحلقة اللانهائية (Infinite Loop)، وعبارة الإيقاف.
لذا قم بقراءة نواتج التعلُّم بعناية، ثم أعد قراءتها وتأكَّد من تحصيل محتواها بعد انتهائك من دراسة الموضوع.
نواتج التعلُّم
- استخدام حلقة for للتكرار.
- كتابة المسافة البادئة في الحلقات.
- كتابة دالة النطاق في الحلقات.
- استخدام حلقة while الشرطية.
- استخدام الحلقة اللانهائية.
- استخدام عبارة الإيقاف.
هيا لنبدأ!
الحلقات المتداخلة
لقد تعرَّفت على الحلقات (Loops) في الموضوع السابق وتعلَّمت كيفية استخدام أنواعها المختلفة.
في هذا الموضوع ستتعلَّم كيفية وضع حلقة داخل حلقة أخرى، ويسمى هذا الإجراء بالتداخل (Nesting) كما تسمى هذه الحلقات بالحلقات المتداخلة (Nested Loops)، حيث يمكِنك إدخال أي نوع من الحلقات في أي نوع آخر، وعلى سبيل المثال: يمكِنك إدخال حلقة for في حلقة while أو العكس. وتعدُّ حلقات for هي الحلقات المتداخلة الأكثر شيوعًا.
خطوات التنفيذ:
- i يحصل على القيمة 0، ستكرّر الحلقة الداخلية مرتين: j = 1، for j = 0.
- الآن ارفع قيمة i، ثم for i = 1، ستكرّر الحلقة الداخلية مرتين: j = 1، for j = 0.
- الآن ارفع قيمة i، ثم for i = 2، ستكرّر الحلقة الداخلية مرتين: j = 1، for j = 0.
في النهاية، تكرَّرت الحلقة الخارجية 3 مرات والحلقة الداخلية 6 مرات.
مثال آخر للحلقات المتداخلة.
وضع المسافة البادئة مهم للغاية ويغير المقطع البرمجي بأكمله في بايثون. يمكِنك أن ترى أنه إذا غيَّرت المسافة البادئة في المثال السابق، فإن النتيجة ستكون مختلفة.
بإمكانك مراجعة محتوى موضوع “الحلقات المتداخلة” حتى نهاية هذا القسم، من خلال الرابط التالي:
القواعد التي تنطبق على الحلقات المتداخلة
من القواعد التي تنطبق على الحلقات المتداخلة:
- يجب أن تكون كل حلقة داخلية مدمجة بالكامل داخل الحلقة الخارجية، ولا يمكِن أن تتشابك الحلقات.
- لا يمكِن استخدام نفس المتغيِّر كعدّاد لحلقتين متداخلتين أو أكثر.
- الحلقة الداخلية يجب أن تكتمل أولًا.
- الحلقة الداخلية تنفذ جميع تكراراتها لكل تكرار من تكرارات الحلقة الخارجية.
مثال توضيحي
الساعة الرقمية هي إحدى أمثلة الحلقات المتداخلة في العالم الحقيقي.
في الساعة الرقميَّة، تحتاج إلى 3 حلقات:
- الحلقة الأولى ستتبع الساعات.
- الحلقة الثانية ستتبع الدقائق.
- الحلقة الثالثة ستتبع الثواني.
مثال: حساب درجات تقييم الطلبة
المعلم يريد حساب درجات تقييم طلبته.
يضم فصله 30 طالبًا، وخضع كل طالب لاختبارين وامتحان نهائي واحد.
الدرجة النهائية لكل طالب هي متوسط تلك الدرجات الثلاث.
أنماط الطباعة
يمكِنك استخدام بايثون لعرض الأنماط على الشاشة. لطباعة أي نمط، هناك هيكل عام عليك اتباعه، حيث تحتاج إلى تحديد عدد الصفوف والأعمدة في النمط.
تخبرك الحلقة الخارجية بعدد الصفوف المُستخدَمة، تخبرك الحلقة الداخلية بعدد الأعمدة المُستخدَمة لطباعة النمط.
بعض الأمثلة على الأنماط الرقميَّة:
في المثال أعلاه، الحلقات الخارجية والداخلية من نوع حلقة for، حيث تعمل الحلقة الخارجية في النطاق (1,6) وتعمل الحلقة الداخلية داخل النطاق المُحدَّد للحلقة الخارجية.
سيتم عرض الرقم الأول مرة واحدة في الصف الأول، والرقم الثاني مرتين في الصف الثاني، والرقم الثالث 3 مرات في الصف الثالث، وهكذا.
بإمكانك مراجعة محتوى موضوع “الحلقات المتداخلة” بدايةً من عنوان “القواعد التي تنطبق على الحلقات المتداخلة” وحتى هذه النقطة، من خلال الرابط التالي:
في المثال التالي، سترى أنه يمكِنك طباعة أنماط هرمية من النجوم. ستطبع نجمة واحدة في الصف الأول، ونجمتين في الصف الثاني، وتستمر بالطباعة حتى الصف الخامس.
يمكِنك أيضًا رسم مثلث باستخدام النجوم، حيث ستستخدِم 4 حلقات for، حلقتين داخليتين مخصَّصتين لتكرار العمود، وحلقتين خارجيتين لتكرار الصف.
بإمكانك مراجعة محتوي موضوع “الحلقات المتداخلة” بدايةً من عنوان “أنماط الطباعة” وحتى نهاية الموضوع، من خلال الرابط التالي:
إلى هنا يكون قد انتهى موضوع “الحلقات المتداخلة”، لا تنسوا مراجعة نواتج التعلُّم أعلى المقال، وانتظرونا في الموضوع القادم!