مقدمة
في الدرس السابق تعلمنا أن برامج C++ تستطيع اتخاذ القرارات باستخدام الجمل الشرطية، فأصبحت قادرة على اختيار ما يجب تنفيذه حسب البيانات التي تستقبلها.
لكن البرامج لا تحتاج إلى اتخاذ القرارات فقط، بل تحتاج أيضًا إلى تكرار بعض العمليات مرات كثيرة.
تخيل أنك تطور:
- لعبة تحتوي على مئات الشخصيات.
- برنامجًا يبحث داخل مليون ملف.
- نظامًا يتحكم في روبوت ينفذ الحركة نفسها باستمرار.
- برنامجًا يحلل آلاف القياسات الهندسية.
هل ستكتب التعليمات نفسها آلاف المرات؟
بالطبع لا.
ولهذا توفر C++ مفهومًا مهمًا جدًا يسمى الحلقات التكرارية (Loops).
---
ما هي الحلقات التكرارية؟
الحلقة التكرارية هي بنية برمجية تسمح للبرنامج بإعادة تنفيذ مجموعة من التعليمات عدة مرات بطريقة تلقائية، حتى يتحقق شرط معين أو ينتهي عدد محدد من مرات التكرار.
بدلًا من تكرار كتابة الكود، تكتبه مرة واحدة فقط، ثم تحدد للبرنامج متى يبدأ التكرار ومتى ينتهي.
وهذا يجعل البرامج أكثر تنظيمًا وسرعة.
---
لماذا نحتاج إلى الحلقات؟
تتميز C++ بأنها تُستخدم غالبًا في البرامج التي تتعامل مع كميات ضخمة من البيانات أو تحتاج إلى تنفيذ العمليات بسرعة كبيرة.
فعلى سبيل المثال، في لعبة ثلاثية الأبعاد قد يحتاج البرنامج إلى تحديث موقع كل جسم في اللعبة عشرات المرات في الثانية.
ولا يمكن كتابة أوامر منفصلة لكل جسم.
لهذا تستخدم الحلقات لتكرار العملية نفسها على جميع العناصر.
---
أمثلة من الحياة اليومية
تخيل عاملًا في مصنع يقوم بفحص المنتجات على خط الإنتاج.
كلما مر منتج أمامه، يقوم بالخطوات نفسها:
- يفحص المنتج.
- يتأكد من جودته.
- يرسله إلى القسم المناسب.
ثم يعيد الخطوات مع المنتج التالي.
هذه العملية المتكررة تشبه تمامًا فكرة الحلقة التكرارية في البرمجة.
---
كيف تعرف الحلقة متى تتوقف؟
أي حلقة يجب أن تمتلك شرط توقف.
قد يكون التوقف بسبب:
- انتهاء عدد معين من التكرارات.
- معالجة جميع البيانات.
- تحقق شرط محدد.
أما إذا لم يكن هناك شرط للتوقف، فسيستمر البرنامج في التكرار بلا نهاية، وهو ما يسمى الحلقة اللانهائية (Infinite Loop).
وقد يؤدي ذلك إلى استهلاك موارد الجهاز أو توقف البرنامج عن الاستجابة.
---
أين تستخدم الحلقات في C++؟
تُستخدم في كثير من المجالات، مثل:
- الألعاب.
- محركات الرسوميات.
- أنظمة التشغيل.
- البرامج الهندسية.
- الروبوتات.
- الذكاء الاصطناعي.
- معالجة الصور والفيديو.
ولهذا فإن إتقان الحلقات يُعد خطوة أساسية لكل من يريد احتراف C++.
---
أنواع الحلقات في C++
توفر C++ ثلاثة أنواع رئيسية من الحلقات:
- for: عندما يكون عدد مرات التكرار معروفًا.
- while: عندما يستمر التكرار حتى يتحقق شرط معين.
- do...while: تشبه while، لكنها تنفذ الأوامر مرة واحدة على الأقل قبل التحقق من الشرط.
وسندرس كل نوع منها بالتفصيل في الدروس القادمة.
---
العلاقة بين الحلقات والسرعة في C++
من أسباب شهرة C++ أنها لغة عالية الأداء.
والحلقات تلعب دورًا مهمًا في ذلك، لأنها تسمح بتنفيذ العمليات المتكررة بكفاءة عالية.
ولهذا تعتمد عليها البرامج التي تحتاج إلى استجابة سريعة، مثل الألعاب والأنظمة المدمجة.
---
العلاقة بين الحلقات والجمل الشرطية
في البرامج الحقيقية، نادرًا ما تعمل الحلقات وحدها.
فقد تكرر الحلقة مجموعة من العمليات، وفي كل مرة تستخدم جملة شرطية لاتخاذ قرار.
فمثلًا، أثناء المرور على قائمة من البيانات، قد يتحقق البرنامج من شرط معين لكل عنصر، ثم يقرر ماذا يفعل معه.
وهكذا تتكامل الحلقات مع الجمل الشرطية لبناء برامج ذكية وفعالة.
---
أخطاء شائعة عند المبتدئين
من أكثر الأخطاء انتشارًا:
- نسيان كتابة شرط يوقف الحلقة.
- استخدام حلقة بينما توجد طريقة أبسط.
- الاعتقاد أن الحلقات تُستخدم فقط مع الأرقام، بينما يمكن استخدامها مع جميع أنواع البيانات تقريبًا.
لذلك من المهم فهم فكرة التكرار قبل الانتقال إلى كتابة الأكواد.
---
لماذا تعد الحلقات من أهم أدوات C++؟
لأن معظم البرامج الاحترافية تعتمد على تنفيذ عمليات متكررة.
فبدون الحلقات، سيصبح الكود طويلًا جدًا، وصعب التعديل، وأقل كفاءة.
أما باستخدامها، يمكن تنفيذ ملايين العمليات باستخدام عدد قليل من الأسطر البرمجية، وهو ما يجعل C++ مناسبة للمشاريع الكبيرة وعالية الأداء.
---
ملخص الدرس
تعرفنا في هذا الدرس على الحلقات التكرارية (Loops)، وعرفنا أنها الأداة التي تجعل برامج C++ تنفذ التعليمات المتكررة بطريقة منظمة وفعالة. كما تعلمنا أن للحلقات أكثر من نوع، وأنها تُستخدم في جميع المجالات التي تعمل بها C++، من الألعاب إلى الأنظمة المدمجة والبرامج الهندسية.
في الدرس التاسع سنتعرف على حلقة "for" في C++، وسنفهم متى نستخدمها، وكيف تساعدنا على تكرار الأوامر عددًا محددًا من المرات بطريقة بسيطة ومنظمة.



