🔥 أحدث الأخبار

موقع يهتم بكل ماهو جديد في عالم التكنولوجيا والرياضة

الحلقة الثالثة في تعلم C++: الحلقات التكرارية (Loops)


 


#برمجة

الحلقة الثالثة في تعلم C++: الحلقات التكرارية (Loops)

مقدمة

مرحباً بك في الحلقة الثالثة من سلسلة تعلم C++ للمبتدئين.

في الحلقتين السابقتين تعلمنا:

  • أساسيات البرمجة في C++
  • المتغيرات وأنواع البيانات
  • الإدخال والإخراج
  • الشروط (if / else / switch)

لكن حتى الآن برامجنا كانت تنفذ الأوامر مرة واحدة فقط.

تخيل أنك تريد:

  • طباعة رقم من 1 إلى 100
  • أو تكرار رسالة 1000 مرة
  • أو قراءة 50 رقم من المستخدم

هل سنكتب نفس الكود 100 مرة؟ بالطبع لا.

هنا يأتي دور مفهوم مهم جداً في البرمجة:

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


ما هي الحلقات التكرارية؟

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

بدلاً من كتابة نفس الكود عدة مرات، نكتب حلقة واحدة تقوم بالمهمة.


مثال من الحياة الواقعية

تخيل مدرس يقول للطلاب:

"اكتبوا الجملة 10 مرات"

بدلاً من أن يقولها كل مرة، الطلاب يكررونها بأنفسهم.

البرمجة تعمل بنفس الطريقة.


أنواع الحلقات في C++

في C++ لدينا 3 أنواع رئيسية:

  1. for loop
  2. while loop
  3. do while loop

أولاً: حلقة for

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

for(initialization; condition; update)
{
    // code
}

مثال بسيط

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

#include <iostream>

using namespace std;

int main()
{
    for(int i = 1; i <= 5; i++)
    {
        cout << i << endl;
    }

    return 0;
}

شرح الكود

  • int i = 1 بداية العداد
  • i <= 5 الشرط
  • i++ زيادة العداد

النتيجة:

1
2
3
4
5

كيف تعمل for؟

تمر بثلاث مراحل:

  1. يبدأ i = 1
  2. يتحقق من الشرط
  3. ينفذ الكود
  4. يزيد i

ويكرر حتى ينتهي الشرط


مثال طباعة الأرقام الزوجية

#include <iostream>

using namespace std;

int main()
{
    for(int i = 2; i <= 10; i += 2)
    {
        cout << i << endl;
    }

    return 0;
}

النتيجة

2
4
6
8
10

مثال طباعة جدول الضرب

#include <iostream>

using namespace std;

int main()
{
    int num = 5;

    for(int i = 1; i <= 10; i++)
    {
        cout << num << " x " << i << " = " << num * i << endl;
    }

    return 0;
}

ثانياً: حلقة while

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

while(condition)
{
    // code
}

مثال

#include <iostream>

using namespace std;

int main()
{
    int i = 1;

    while(i <= 5)
    {
        cout << i << endl;
        i++;
    }

    return 0;
}

الفرق بين for و while

for while
تستخدم عندما نعرف عدد التكرارات تستخدم عندما لا نعرف العدد
أسهل في العد أكثر مرونة

مثال إدخال حتى الصفر

#include <iostream>

using namespace std;

int main()
{
    int num;

    cout << "Enter numbers (0 to stop): ";

    cin >> num;

    while(num != 0)
    {
        cout << "You entered: " << num << endl;
        cin >> num;
    }

    return 0;
}

فكرة مهمة

while تعتمد على شرط فقط.

طالما الشرط صحيح → تستمر.


ثالثاً: حلقة do while

الصيغة

do
{
    // code
}
while(condition);

مثال

#include <iostream>

using namespace std;

int main()
{
    int i = 1;

    do
    {
        cout << i << endl;
        i++;
    }
    while(i <= 5);

    return 0;
}

الفرق المهم

  • while: تفحص الشرط أولاً
  • do while: تنفذ مرة واحدة ثم تفحص

مثال مهم جداً

#include <iostream>

using namespace std;

int main()
{
    int password;

    do
    {
        cout << "Enter password: ";
        cin >> password;

    } while(password != 1234);

    cout << "Welcome";

    return 0;
}

جملة break و continue

break

توقف الحلقة بالكامل

for(int i = 1; i <= 10; i++)
{
    if(i == 5)
        break;

    cout << i << endl;
}

النتيجة:

1
2
3
4

continue

تتخطى التكرار الحالي فقط

for(int i = 1; i <= 5; i++)
{
    if(i == 3)
        continue;

    cout << i << endl;
}

النتيجة:

1
2
4
5

أمثلة مهمة جداً

مثال 1: جمع الأرقام من 1 إلى 10

#include <iostream>

using namespace std;

int main()
{
    int sum = 0;

    for(int i = 1; i <= 10; i++)
    {
        sum += i;
    }

    cout << sum;

    return 0;
}

مثال 2: إيجاد عدد زوجي أو فردي

#include <iostream>

using namespace std;

int main()
{
    for(int i = 1; i <= 10; i++)
    {
        if(i % 2 == 0)
            cout << i << " Even" << endl;
        else
            cout << i << " Odd" << endl;
    }

    return 0;
}

مثال 3: إدخال 5 أرقام وجمعها

#include <iostream>

using namespace std;

int main()
{
    int num, sum = 0;

    for(int i = 1; i <= 5; i++)
    {
        cin >> num;
        sum += num;
    }

    cout << "Sum = " << sum;

    return 0;
}

مشروع تطبيقي مهم

حساب متوسط عدد من القيم

#include <iostream>

using namespace std;

int main()
{
    int n, num;
    float sum = 0;

    cout << "How many numbers? ";
    cin >> n;

    for(int i = 1; i <= n; i++)
    {
        cin >> num;
        sum += num;
    }

    cout << "Average = " << sum / n;

    return 0;
}

مشروع: قائمة أرقام حتى الإدخال 0

#include <iostream>

using namespace std;

int main()
{
    int num;

    while(true)
    {
        cin >> num;

        if(num == 0)
            break;

        cout << "Value: " << num << endl;
    }

    return 0;
}

أخطاء شائعة

1. نسيان زيادة العداد

while(i <= 5)
{
    cout << i;
}

➡ خطأ: حلقة لا نهائية


2. وضع فاصلة منقوطة بعد for

for(int i = 0; i < 5; i++); // خطأ

تمارين

تمرين 1

اطبع الأرقام من 1 إلى 100 باستخدام for.


تمرين 2

اطبع الأعداد الفردية فقط من 1 إلى 50.


تمرين 3

اطلب من المستخدم إدخال أرقام حتى يدخل 0 ثم احسب المجموع.


تمرين 4

اطبع جدول ضرب رقم يُدخله المستخدم.


ملخص الحلقة الثالثة

في هذه الحلقة تعلمنا:

✅ مفهوم الحلقات التكرارية
✅ for loop
✅ while loop
✅ do while loop
✅ break و continue
✅ تطبيقات عملية قوية


في الحلقة الرابعة سنتعلم:

🔥 الدوال Functions في C++
وهي من أهم مفاهيم البرمجة لأنها تساعدنا في بناء برامج احترافية قابلة لإعادة الاستخدام ان شاءالله 






محرر أكواد C++

تعليقات

💬 🙋🏻‍♂️