هي عبارة تكرارية تستخدم لتكرار خطوات برمجية المحصورة بين قوسيها لعدد من المرات تكون مشابه تماما لعبارة التكرار For وتستطيع المقارنة بين هيكلية هاتان العبارتان التكراريتان وسوف تجد التشابه بينهما:
- Initializing : هي القيمة البدائية المعطاة للمتغير التي منها سيبدأ العد ( مثلاً i=0 ).
- Boolean_Expression : هو شرط التوقف الذي عندما تصبح قيمة المتغير غير محققة لشرط التوقف سوف يخرج من عبارة ( while) بمعنى أخر مادام نتيجة اختباره ( Boolean_Expression ) هي ( True ) فان العبارة التكرارية تستمر بتنفيذ مابين قوسيها ومتى ما أصبح (Fals) يخرج من العبارة التكرارية. مثلاً i<5 هو شرط التوقف والعداد i = 0.
- Update : هي مقدار الزيادة أو النقصان في قيمة المتغير في كل دورة loop. مثلاً ++i و --i.
- statement : هي الخطوات البرمجية التي ستنفذ عدد من المرات .إذا كانت عبارة عن خطوة برمجية واحدة فليس بحاجة لوضعها داخل أقواس وإذا كانت أكثر من خطوة يجب وضعها داخل أقواس.
كيف تعمل عبارة While التكرارية
أن المتغير يبدأ بقيمة بدائية Initializing ويستمر بالزيادة أو النقصان حسب الـ Update أي قد يزداد أو ينقص بمقدار واحد أو أكثر من واحد ومتى ما أصبح قيمة المتغير غير محققة للشرط Boolean_Expression يخرج من العبارة التكرارية إلى الخطوات البرمجية التي تليه وإذا كانت محققة للشرط ينفذ الخطوات البرمجية التي داخل العبارة التكرارية.
- لإدخال While في دورة لانهائية نكتب (1) While فقط.
مثال: لو اردنا عداد يعد من 0 الى 4 ويطبع النتيجة على شاشة التنفيذ ؟
مثال: برنامج لعد الاعداد الفردية بين (0 الى 100) ؟
مثال: برنامج يدخل المستخدم 10 درجات ويقوم بحساب المعدل ؟
بما انه يريد حساب المعدل من عشر درجات فيجب جمع هذه الدرجات وقسمتها على عشرة للحصول على المعدل وبما انه يقول يدخلها المستخدم وبما إنهن عشر درجات فيصعب إدخالها كل واحد على حدة لذالك نستخدم عبارة While التكرارية تتكرر عشر مرات ونضع تحتها جملة القراءة ( حيث عند كل عدة للعبارة التكرارية يطلب منك إدخال درجة ويجمع الدرجات المدخلة عند كل إدخال وناتج الجمع يقسم بعد الإدخال على عشرة)