recent
أخبار ساخنة

شرح الحلقة do while في البرمجة مع أمثلة عملية للمبتدئين

شرح الحلقة do while في البرمجة مع أمثلة عملية للمبتدئين


الحلقة do...while في البرمجة

تُعتبر الحلقة do...while إحدى حلقات التكرار المهمة في البرمجة، وتُستخدم عندما نريد تنفيذ مجموعة من الأوامر مرة واحدة على الأقل قبل التحقق من الشرط. وهي تشبه إلى حد كبير الحلقة while، لكن الفرق الأساسي بينهما هو أن do...while تنفذ الكود أولًا ثم تتحقق من الشرط.

تُستخدم هذه الحلقة في العديد من لغات البرمجة مثل JavaScript وJava وC++ وPHP، وتُعد مناسبة للحالات التي يجب فيها تنفيذ العملية مرة واحدة على الأقل بغض النظر عن نتيجة الشرط.

ما هي الحلقة do...while؟

الحلقة do...while هي حلقة تكرار تنفذ الأوامر الموجودة داخلها أولًا، ثم تقوم بفحص الشرط. إذا كان الشرط صحيحًا (true) تستمر في التكرار، وإذا كان خاطئًا (false) تتوقف.

الصيغة العامة للحلقة

في لغة JavaScript:

do {

    // الأوامر التي سيتم تنفيذها

} while (condition);

كيف تعمل الحلقة؟

  1. تنفذ الأوامر داخل do.
  2. تتحقق من الشرط الموجود في while.
  3. إذا كان الشرط صحيحًا تعود للتنفيذ مرة أخرى.
  4. إذا أصبح الشرط خاطئًا تتوقف الحلقة.

مثال بسيط: طباعة الأرقام من 1 إلى 5

let i = 1;

do {

    console.log(i);
    i++;

} while (i <= 5);

النتيجة

1
2
3
4
5

تبدأ قيمة i بـ 1. يتم تنفيذ الكود داخل الحلقة. بعد كل دورة تزداد قيمة i. عندما تصبح القيمة 6 يتوقف التكرار.

مثال: طباعة رسالة عدة مرات

let count = 1;

do {

    console.log("مرحبًا بكم في NusurTech");
    count++;

} while (count <= 3);

النتيجة

مرحبًا بكم في NusurTech
مرحبًا بكم في NusurTech
مرحبًا بكم في NusurTech

أهم ميزة في الحلقة do...while

تنفذ الأوامر مرة واحدة على الأقل حتى لو كان الشرط خاطئًا منذ البداية.

مثال

let number = 10;

do {

    console.log("تم تنفيذ الحلقة");

} while (number < 5);

النتيجة

تم تنفيذ الحلقة رغم أن الشرط: number < 5 خاطئ، إلا أن الحلقة نفذت مرة واحدة لأن التحقق يتم بعد التنفيذ.

مقارنة مع while

باستخدام while

let number = 10;
while (number < 5) {
    console.log("تم التنفيذ");
}

النتيجة لن يتم تنفيذ أي شيء.

مثال عملي: التحقق من كلمة المرور

let password;

do {

    password = prompt("أدخل كلمة المرور");
} while (password !== "1234");
console.log("تم تسجيل الدخول");

ماذا يفعل البرنامج؟

  • يطلب كلمة المرور من المستخدم.
  • يتحقق من صحتها.
  • يستمر في الطلب حتى يتم إدخال القيمة الصحيحة.

مثال: العد التنازلي

let seconds = 5;

do {

    console.log(seconds);
    seconds--;

} while (seconds > 0);

console.log("انتهى الوقت");

النتيجة

5
4
3
2
1
انتهى الوقت

استخدام break مع do...while

يمكن استخدام break لإيقاف الحلقة فورًا.

let i = 1;

do {

    if (i === 5) {
        break;
    }

    console.log(i);
    i++;

} while (i <= 10);

النتيجة

1
2
3
4

استخدام continue مع do...while

يمكن استخدام continue لتخطي دورة معينة.

let i = 0;

do {

    i++;

    if (i === 3) {
        continue;
    }

    console.log(i);

} while (i < 5);

النتيجة 1 2 4 5

الفرق بين while و do...while

  • الحلقة while تتحقق من الشرط أولًا والحلقة do...while تنفذ الكود أولًا.
  • الحلقة while قد لا تُنفذ إطلاقًا والحلقة do...while تُنفذ مرة واحدة على الأقل.
  • الحلقة while مناسبة عندما لا نريد التنفيذ إذا كان الشرط خاطئًا والحلقة do...while مناسبة عندما نحتاج تنفيذًا أوليًا قبل التحقق

متى نستخدم do...while؟

تُستخدم في:

  1. نماذج إدخال البيانات. 
  2. أنظمة تسجيل الدخول. 
  3. الألعاب.
  4.  القوائم التفاعلية (Menus). 
  5. طلب البيانات من المستخدم حتى تكون صحيحة.

أخطاء شائعة

نسيان تحديث المتغير سيؤدي ذلك إلى: Infinite Loop أي حلقة لا نهائية، لأن قيمة i لا تتغير.

نصائح مهمة في استخدام الحلقة do while

  1. استخدم do...while عندما تحتاج تنفيذ الكود مرة واحدة على الأقل.
  2. تأكد من وجود شرط خروج واضح للحلقة.
  3. حدّث المتغيرات داخل الحلقة لتجنب الحلقات اللانهائية
  4. استخدمها في حالات التحقق من إدخال المستخدم لأنها تضمن ظهور الطلب مرة واحدة على الأقل.

تُعد الحلقة do...while أداة قوية ومفيدة في البرمجة، خاصة عندما نحتاج إلى تنفيذ مجموعة من الأوامر مرة واحدة على الأقل قبل التحقق من الشرط. وعلى الرغم من تشابهها مع الحلقة while، إلا أن طريقة عملها المختلفة تجعلها الخيار الأفضل في العديد من السيناريوهات العملية مثل التحقق من المدخلات وإنشاء القوائم التفاعلية. وإتقان استخدامها يساعد المبرمج على كتابة برامج أكثر مرونة وكفاءة واحترافية.

google-playkhamsatmostaqltradentX