C++ الحلقة do while

تعريف الحلقة do while

نستخدم الحلقة do while إذا كنا نريد تنفيذ الكود عدة مرات, ولكننا لا نعرف كم مرة بالتحديد لأننا نريد إيقاف التنفيذ إذا تحقق شرط معين.
هذه الحلقة تتوقف عن تكرار نفسها إذا تحقق الشرط الذي وضعناه لها.

الفرق الوحيد بينها و بين الحلقة while أنها تتنفذ مرة واحدة على الأقل لأنها تتأكد من الشرط بعد تنفيذ الأوامر و ليس قبلهم.

هنا كأننا نقول: "نفذ الكود الموضوع و طالما أن الشرط لا يزال يتحقق أعد تنفيذه".


طريقة إستخدامها

initialisation;

do{
    // statements
    increment أو decrement;
}
While( condition );

  • initialisation:   هي أول خطوة تتنفذ في الحلقة و هي تتنفذ مرة واحدة فقط على عكس جميع العناصر الموجودة في الحلقة.
    في هذه الخطوة نقوم بتعريف متغير ( يسمى عداد ).

  • statements:   هي الخطوة الثانية, و تعني تنفيذ جميع الأوامر الموجودة في الحلقة و هي تتنفذ في كل دورة.

  • decrement أو increment:   هي الخطوة الثالثة, و هي تتنفذ في كل دورة.
    هنا نحدد كيف تزداد أو تنقص قيمة العداد.

  • condition:   هي الخطوة الرابعة و الأخيرة و هي تتنفذ في كل دورة.
    في هذه الخطوة نقوم بوضع شرط يحدد متى تتوقف الحلقة, في نهاية كل دورة يتم التأكد إذا تحقق الشرط أم لا.
    هنا طالما أن نتيجة الشرط تساوي true سيعيد تكرار الكود.

تذكر فقط أن جميع هذه الخطوات تتكرر في كل دورة ما عدا أول خطوة, و السبب أننا لا نحتاج إلى تعريف عداد جديد في كل دورة, بل نستعمل العداد القديم و الذي من خلاله نعرف في أي دورة أصبحنا.

مثال حول الحلقة do while

في المثال التالي قمنا بتعريف حلقة تطبع جميع الأرقام من 1 إلى 10.

مثال

Main.cpp
#include <iostream>

using namespace std;

int main()
{
    // هنا قمنا بتعريف المتغير الذي استخدمناه كعداد في الحلقة
    int i=1;
	
    // تظل تنفذ الأوامر الموضوعة فيها طالما أن قيمة العدد لا تزال أصغر أو تساوي 10 while هنا أنشأنا حلقة
    do
    {
        // في كل دورة سيتم طباعة قيمة العداد ثم إضافة 1 عليها
        cout << i << endl;
        i++;
    }
    while( i<=10 );
	
    return 0;
}
		

سنحصل على النتيجة التالية عند التشغيل.

1
2
3
4
5
6
7
8
9
10
		

الدورات

أدوات مساعدة

أقسام الموقع

دورات
مقالات كتب مشاريع أسئلة