حلقات while
مُقدَّم| English | المعنى |
|---|---|
| while loop/waɪl luːp/ | حلقة while |
| loop control variable/luːp kənˈtrəʊl ˈveərɪəbl/ | متحكم في الحلقة |
| infinite loop/ˈɪnfɪnət luːp/ | حلقة لا نهائية |
تكرار طالما صحيح
- حلقة while تكرر جسمها طالما يظل الشرط
true. while (i <= 5) { sum = sum + i; i++; }- قبل كل مرور، يفحص Java الشرط؛ إذا كان
false، تنتهي الحلقة. - استخدم
whileعندما لا تعرف مسبقًا عدد المرات التي ستحتاج فيها للمرور.
اختبار قبل كل مرور
- يتم اختبار الشرط قبل تشغيل الجسم في كل مرة.
- إذا كان
falseفي الفحص الأول مباشرة، فإن الجسم لا يعمل صفر مرة. - بعد كل مرور، يتم إعادة التحقق من الشرط قبل التالي.
- هذا الترتيب "تحقق، ثم ربما شغّل" يستحق الحفظ.
متحكم الحلقة
- متحكم الحلقة يقود التقدم نحو التوقف.
- قم بتهيئته قبل الحلقة، استخدمه في الشرط، وغيّره داخل الجسم.
iيبدأ من1، والتحقق من الشرط يفحصi <= 5، وi++ينقله للأمام.- بدون تغيير يكسر الشرط في النهاية، لن تنتهي الحلقة أبدًا.
الحلقات اللانهائية
- الحلقة اللانهائية تحدث عندما لا يصبح الشرط خاطئًا أبدًا.
- نسيان
i++(أو تحديث المتغير الخطأ) يأسر البرنامج للأبد. - الدليل: الحلقة لا تتقدم نحو شرط توقفها.
- تأكد دائمًا من أن كل مرور ينقل متحكم الحلقة نحو الخروج.
تحقق while من شرطها BEFORE كل مرور — لذا يمكن أن تعمل صفر مرة. إذا كان الشرط بالفعل false، فلن يعمل الجسم أبدًا. وعليك تغيير متحكم الحلقة داخل الجسم حتى يتحول الشرط في النهاية إلى false؛ نسيان التحديث (مثل عدم وجود i++) هو الحلقة اللانهائية الكلاسيكية.
جمع الأرقام من 1 إلى 5:
int i = 1, sum = 0;while (i <= 5) { sum = sum + i; i++; }- المرور:
i=1sum=1،i=2sum=3،i=3sum=6،i=4sum=10،i=5sum=15؛ ثمi=6يفشل<= 5→ توقف.sumهو15.
حلقة while تكرر جسمها طالما الشرط true، مع التحقق قبل كل مرور (لذا قد تعمل صفر مرة). يجب تهيئة متحكم الحلقة، وفحصه، وتحديثه داخل الجسم حتى تنجز الحلقة تقدمًا — نسيان التحديث يسبب حلقة لانهائية.
جمع 1 إلى 5 باستخدام while
تضيف كل دورة i إلى sum، ثم يزيدها i++ لتقترب من الخروج.
حلقة while تتحقق من شرطها...
Difficulty 1/5 · 100 coins + a small bonus on first completion today
يتم اختبار الشرط قبل كل دورة، لذا يمكن أن تعمل 0 مرة.
int i=1, sum=0; while (i<=5){ sum+=i; i++; } ما قيمة sum في النهاية؟
Difficulty 2/5 · 140 coins + a small bonus on first completion today
1+2+3+4+5 = 15.
نسيان تحديث متحكم الحلقة داخل الجسم يسبب عادةً...
Difficulty 1/5 · 100 coins + a small bonus on first completion today
بدون تقدم، لا يصبح الشرط كاذباً أبداً.
إذا كان شرط while كاذباً في الفحص الأول، فإن الجسم يعمل صفراً مرة.
Difficulty 1/5 · 100 coins + a small bonus on first completion today
اختبار الشرط قبل كل دورة يعني أنه يمكن أن يعمل 0 مرة.
الحلقة التي لا تتوقف لأن شرطها لا يصبح كاذباً هي حلقة ___ (كلمة واحدة).
Difficulty 1/5 · 100 coins + a small bonus on first completion today
الحلقة اللانهائية لا تحقق أي تقدم نحو التوقف.