الحلقات التكرارية (Loops) في C++

الدرس السابع: الحلقات التكرارية (Loops) في C++

الحلقات التكرارية تُعتبر من أهم الأدوات التي تسمح لك بتكرار تنفيذ جزء من الكود عدة مرات وفقًا لشرط معين. في C++، هناك ثلاثة أنواع رئيسية من الحلقات: for، while، و do-while. كما توجد بعض الأوامر المساعدة مثل break و continue التي تستخدم للتحكم في سير الحلقات.


1. حلقة for

تُستخدم حلقة for عندما تعرف عدد مرات التكرار مسبقًا أو يمكنك حسابه بسهولة. وهي الأكثر شيوعًا في الحلقات التكرارية.

بنية حلقة for:

for (initialization; condition; update) {
    // الكود الذي سيتم تنفيذه في كل مرة
}
  • initialization: عملية التهيئة التي تتم مرة واحدة قبل بدء الحلقة.
  • condition: شرط التكرار الذي يُفحص في بداية كل دورة من الحلقة.
  • update: العملية التي يتم تنفيذها بعد كل دورة من الحلقة.

مثال:

#include <iostream>
using namespace std;

int main() {
    for (int i = 1; i <= 5; i++) {
        cout << "العدد هو: " << i << endl;
    }

    return 0;
}

النتيجة:

العدد هو: 1
العدد هو: 2
العدد هو: 3
العدد هو: 4
العدد هو: 5

2. حلقة while

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

بنية حلقة while:

while (condition) {
    // الكود الذي سيتم تنفيذه طالما كان الشرط صحيحًا
}

مثال:

#include <iostream>
using namespace std;

int main() {
    int i = 1;
    while (i <= 5) {
        cout << "العدد هو: " << i << endl;
        i++;
    }

    return 0;
}

النتيجة:

العدد هو: 1
العدد هو: 2
العدد هو: 3
العدد هو: 4
العدد هو: 5

3. حلقة do-while

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

بنية حلقة do-while:

do {
    // الكود الذي سيتم تنفيذه في البداية
} while (condition);

مثال:

#include <iostream>
using namespace std;

int main() {
    int i = 1;
    do {
        cout << "العدد هو: " << i << endl;
        i++;
    } while (i <= 5);

    return 0;
}

النتيجة:

العدد هو: 1
العدد هو: 2
العدد هو: 3
العدد هو: 4
العدد هو: 5

4. استخدام break و continue

  • break: يُستخدم للخروج من الحلقة تمامًا فورًا.
  • continue: يُستخدم لتخطي التكرار الحالي والانتقال إلى التكرار التالي في الحلقة.

مثال لاستخدام break:

#include <iostream>
using namespace std;

int main() {
    for (int i = 1; i <= 10; i++) {
        if (i == 6) {
            break;  // الخروج من الحلقة عندما i = 6
        }
        cout << "العدد هو: " << i << endl;
    }

    return 0;
}

النتيجة:

العدد هو: 1
العدد هو: 2
العدد هو: 3
العدد هو: 4
العدد هو: 5

عند الوصول إلى العدد 6، يتم الخروج من الحلقة بسبب break.

مثال لاستخدام continue:

#include <iostream>
using namespace std;

int main() {
    for (int i = 1; i <= 10; i++) {
        if (i == 5) {
            continue;  // تخطي التكرار عندما i = 5
        }
        cout << "العدد هو: " << i << endl;
    }

    return 0;
}

النتيجة:

العدد هو: 1
العدد هو: 2
العدد هو: 3
العدد هو: 4
العدد هو: 6
العدد هو: 7
العدد هو: 8
العدد هو: 9
العدد هو: 10

عند الوصول إلى العدد 5، يتم تخطيه بسبب continue.


5. تطبيق عملي: حساب المضروب (Factorial)

المضروب (Factorial) هو حاصل ضرب جميع الأعداد من 1 إلى العدد المطلوب. على سبيل المثال، مضروب 5 هو:
5! = 5 * 4 * 3 * 2 * 1 = 120

حل باستخدام حلقة for:

#include <iostream>
using namespace std;

int main() {
    int number;
    cout << "أدخل رقم لحساب المضروب: ";
    cin >> number;

    long long factorial = 1;

    for (int i = 1; i <= number; i++) {
        factorial *= i;  // ضرب الرقم الحالي في المتغير factorial
    }

    cout << "المضروب هو: " << factorial << endl;

    return 0;
}

مثال:

إذا دخل المستخدم الرقم 5:

أدخل رقم لحساب المضروب: 5
المضروب هو: 120

حل باستخدام حلقة while:

#include <iostream>
using namespace std;

int main() {
    int number;
    cout << "أدخل رقم لحساب المضروب: ";
    cin >> number;

    long long factorial = 1;
    int i = 1;

    while (i <= number) {
        factorial *= i;  // ضرب الرقم الحالي في المتغير factorial
        i++;
    }

    cout << "المضروب هو: " << factorial << endl;

    return 0;
}

مثال:

إذا دخل المستخدم الرقم 5:

أدخل رقم لحساب المضروب: 5
المضروب هو: 120

تمارين تطبيقية 💡

  1. برنامج يطلب من المستخدم إدخال عدد صحيح ويحسب المضروب باستخدام حلقة do-while.
  2. برنامج يستخدم for لطباعة الأعداد من 1 إلى 100 ولكن مع تخطي الأعداد التي هي مضاعفات 3 باستخدام continue.

الخلاصة

  • for: يستخدم عندما تعرف عدد مرات التكرار مسبقًا.
  • while: يستخدم عندما لا تعرف عدد مرات التكرار ولكنك تعرف الشرط الذي يجب أن يتحقق لاستمرار الحلقة.
  • do-while: يُستخدم عندما تريد تنفيذ الكود مرة واحدة على الأقل، بغض النظر عن تحقق الشرط.
  • break: للخروج من الحلقة.
  • continue: لتخطي التكرار الحالي والانتقال إلى التكرار التالي.

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


اكتشاف المزيد من كود التطور

اشترك للحصول على أحدث التدوينات المرسلة إلى بريدك الإلكتروني.

اترك رد

Scroll to Top