Programming Basics SQL HTML CSS JavaScript React Python C++ Java JavaFX Swing Problem Solving English English Conversations Computer Fundamentals Linux Learn Typing

C++الحلقة do while

  • تعريف الحلقة do while
  • مثال حول الحلقة do while

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

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

هنا كأننا نقول: "نفّذ الكود و إن كان الشرط لا يزال يتحقق فقم بتنفيذه من جديد".

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


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

initialization;

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

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

  • 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