أنماط الحلقات: for وwhile وdo-while
كرّر باستخدام أشكال الحلقات التقليدية الثلاثة، واختر الشكل المناسب للموقف.
أنماط الحلقات: for وwhile وdo-while درس مجاني في C++ Academy على CoddyKit. هذا هو الدرس 2 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في C++ Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة C++ Academy 4 دروس في المجموع.
حلقة for
هذه هي الحلقة التقليدية المعتمدة على الفهرس. استخدمها عندما تعرف عدد التكرارات المطلوبة.
for (int i = 0; i < 10; ++i) {
std::cout << i << " ";
}بنية حلقة for
ثلاثة أجزاء تفصل بينها فواصل منقوطة:
- التهيئة — تُنفَّذ مرة واحدة قبل الحلقة
- الشرط — يُفحَص قبل كل تكرار
- التحديث — يُنفَّذ بعد كل تكرار
يمكن أن يكون أي جزء فارغًا.
العد التنازلي
أنقص القيمة للتكرار بترتيب عكسي. انتبه إلى الحد الفاصل بعناية.
for (int i = 9; i >= 0; --i) {
std::cout << i << " ";
}حلقة while
كرّر التنفيذ ما دام الشرط صحيحًا. استخدمها عندما يعتمد عدد التكرارات على حالة وقت التشغيل.
int n = 100;
while (n > 1) {
std::cout << n << " ";
n /= 2;
}حلقة do-while
تشبه while، لكن الجسم يُنفَّذ مرة واحدة على الأقل — إذ يُفحَص الشرط في النهاية. وهي مفيدة للتحقق من صحة الإدخال.
int n;
do {
std::cout << "Enter 1-9: ";
std::cin >> n;
} while (n < 1 || n > 9);الحلقات اللانهائية
قد ترغب أحيانًا في حلقة تستمر حتى الوصول إلى break. الصيغ الاصطلاحية هي:
for (;;) { /* ... */ } // C-style
while (true) { /* ... */ } // arguably clearerbreak: الخروج مبكرًا
توقف break الحلقة الداخلية أو switch فورًا.
for (int i = 0; i < n; ++i) {
if (a[i] == target) {
index = i;
break;
}
}continue: الانتقال إلى التكرار التالي
ينتقل continue إلى التكرار التالي دون تنفيذ بقية الجسم.
for (int i = 1; i <= 100; ++i) {
if (i % 2 == 0) continue;
std::cout << i << " "; // print odd numbers
}الحلقات المتداخلة
يمكن تداخل الحلقات. لا يخرج break داخل الحلقة الداخلية إلا من الحلقة الداخلية — لذا استخدم متغيرًا منطقيًا أو أعد الهيكلة داخل دالة لزيادة الوضوح.
اختيار الحلقة المناسبة
دليل سريع:
- عدد معروف →
for - حتى يتغير شرط →
while - التنفيذ مرة واحدة على الأقل →
do-while - التكرار على حاوية → حلقة for المعتمدة على النطاق (في الدرس التالي)
أخطاء تجاوز الحد بمقدار واحد
أكبر أخطاء الحلقات هو تنفيذ تكرار واحد أكثر أو أقل من اللازم. فضّل استخدام < مع size() عند فهرسة المصفوفات — وتحقق من الحدود على الورق أو باستخدام الاختبارات.
تحقق سريع
أي حلقة تضمن تنفيذ جسمها مرة واحدة على الأقل؟
مراجعة
اختر for للأعداد المعروفة من التكرارات، وwhile للحلقات التي يقودها شرط، وdo-while عندما يجب تنفيذ الجسم مرة واحدة على الأقل. استخدم break وcontinue باعتدال للحفاظ على الوضوح.
الأسئلة الشائعة
هل درس «أنماط الحلقات: for وwhile وdo-while» مجاني؟
نعم — نص درس «أنماط الحلقات: for وwhile وdo-while» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة C++ Academy، انتقل إلى CoddyKit PRO. تتضمن دورة C++ Academy 4 دروس في المجموع.
ماذا ستتعلم في «أنماط الحلقات: for وwhile وdo-while»؟
كرّر باستخدام أشكال الحلقات التقليدية الثلاثة، واختر الشكل المناسب للموقف. تتمرن على C++ Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ C++ Academy؟
لا تُشترط خبرة سابقة. C++ Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 2 من أصل 4.
كم من الوقت يستغرق درس «أنماط الحلقات: for وwhile وdo-while»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس C++ Academy هذا؟
نعم. كل درس في C++ Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- التفرّع: if-else و ternary و switch-case
- أنماط الحلقات: for وwhile وdo-while
- حلقة for المعتمدة على النطاق مع الحاويات
- العودة المبكرة وbreak وcontinue وgoto