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

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

الحلقة الثانية في تعلم C++: الشروط والجمل الشرطية (Conditional Statements)

 


#برمجة

الحلقة الثانية في تعلم C++: الشروط والجمل الشرطية (Conditional Statements)

مقدمة

مرحباً بكم في الدرس الثاني من سلسلة تعلم لغة C++ للمبتدئين. في الدرس الأول تعلمنا أساسيات البرمجة، وكتبنا أول برنامج، وتعرفنا على المتغيرات وأنواع البيانات والإدخال والإخراج والعمليات الحسابية.

لكن البرامج التي أنشأناها كانت تنفذ نفس الأوامر دائماً دون اتخاذ أي قرارات. في الواقع معظم البرامج الحديثة تعتمد على اتخاذ القرارات بناءً على مدخلات المستخدم أو حالة النظام.

فعلى سبيل المثال:

  • إذا أدخل المستخدم كلمة مرور صحيحة يتم تسجيل الدخول.
  • إذا كان عمر المستخدم أكبر من 18 سنة يسمح له بالدخول.
  • إذا كان الرصيد أقل من قيمة المنتج يتم رفض عملية الشراء.
  • إذا كانت درجة الحرارة مرتفعة يتم تشغيل المكيف.

كل هذه العمليات تعتمد على مفهوم مهم جداً يسمى الجمل الشرطية.

في هذا الدرس سنتعلم بالتفصيل:

  • ما هي الشروط؟
  • معاملات المقارنة.
  • if Statement.
  • if else.
  • else if.
  • الشروط المتداخلة.
  • المعاملات المنطقية.
  • switch.
  • أمثلة عملية ومشاريع صغيرة.

ما هي الجملة الشرطية؟

الجملة الشرطية هي وسيلة تجعل البرنامج يتخذ قراراً معيناً بناءً على شرط محدد.

الفكرة بسيطة:

إذا تحقق الشرط → نفذ أمراً معيناً.

إذا لم يتحقق → نفذ أمراً آخر أو لا تفعل شيئاً.


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

تخيل أنك تريد الخروج من المنزل.

إذا كانت السماء تمطر:

  • خذ مظلة.

إذا لم تكن تمطر:

  • اخرج بشكل طبيعي.

يمكن تمثيل ذلك برمجياً:

if (raining)
{
    takeUmbrella();
}

معاملات المقارنة

قبل استخدام الشروط يجب أن نتعلم كيفية المقارنة بين القيم.

يساوي

==

مثال:

5 == 5

النتيجة:

true

لا يساوي

!=

مثال:

5 != 3

النتيجة:

true

أكبر من

>

مثال:

10 > 5

أصغر من

<

مثال:

3 < 8

أكبر أو يساوي

>=

أصغر أو يساوي

<=

أول شرط باستخدام if

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

if (condition)
{
    // code
}

مثال عملي

#include <iostream>

using namespace std;

int main()
{
    int age = 20;

    if(age >= 18)
    {
        cout << "You are adult";
    }

    return 0;
}

النتيجة:

You are adult

لأن العمر أكبر من 18.


مثال آخر

#include <iostream>

using namespace std;

int main()
{
    int number = 10;

    if(number > 0)
    {
        cout << "Positive Number";
    }

    return 0;
}

استخدام if مع إدخال المستخدم

#include <iostream>

using namespace std;

int main()
{
    int age;

    cout << "Enter age: ";
    cin >> age;

    if(age >= 18)
    {
        cout << "Allowed";
    }

    return 0;
}

جملة if else

أحياناً نريد تنفيذ أمر إذا تحقق الشرط وأمر آخر إذا لم يتحقق.

الصيغة:

if(condition)
{
    // true
}
else
{
    // false
}

مثال

#include <iostream>

using namespace std;

int main()
{
    int age;

    cin >> age;

    if(age >= 18)
    {
        cout << "Adult";
    }
    else
    {
        cout << "Child";
    }

    return 0;
}

مثال كلمة المرور

#include <iostream>

using namespace std;

int main()
{
    string password;

    cin >> password;

    if(password == "1234")
    {
        cout << "Login Success";
    }
    else
    {
        cout << "Wrong Password";
    }

    return 0;
}

الفرق بين = و ==

من أكثر الأخطاء انتشاراً بين المبتدئين.

خطأ:

if(age = 18)

صحيح:

if(age == 18)

الرمز:

=

لإسناد قيمة.

أما:

==

فللمقارنة.


جملة else if

عندما يكون لدينا أكثر من احتمال.

مثال:

درجات الطلاب.

إذا كانت الدرجة أكبر من 90:

ممتاز.

إذا كانت أكبر من 80:

جيد جداً.

إذا كانت أكبر من 70:

جيد.

غير ذلك:

راسب.


الكود:

#include <iostream>

using namespace std;

int main()
{
    int mark;

    cin >> mark;

    if(mark >= 90)
    {
        cout << "Excellent";
    }
    else if(mark >= 80)
    {
        cout << "Very Good";
    }
    else if(mark >= 70)
    {
        cout << "Good";
    }
    else
    {
        cout << "Fail";
    }

    return 0;
}

كيف يعمل else if؟

البرنامج يفحص الشروط بالترتيب.

إذا تحقق أول شرط:

يتوقف.

إذا لم يتحقق:

ينتقل للشرط التالي.

وهكذا.


مثال حساب التقدير

#include <iostream>

using namespace std;

int main()
{
    int grade;

    cin >> grade;

    if(grade >= 95)
    {
        cout << "A+";
    }
    else if(grade >= 90)
    {
        cout << "A";
    }
    else if(grade >= 85)
    {
        cout << "B+";
    }
    else if(grade >= 80)
    {
        cout << "B";
    }
    else
    {
        cout << "C";
    }

    return 0;
}

الشروط المتداخلة

يمكن وضع شرط داخل شرط آخر.

مثال:

if(age >= 18)
{
    if(age >= 60)
    {
        cout << "Senior";
    }
}

مثال عملي

#include <iostream>

using namespace std;

int main()
{
    int age;

    cin >> age;

    if(age >= 18)
    {
        cout << "Adult\n";

        if(age >= 60)
        {
            cout << "Retired";
        }
    }

    return 0;
}

المعاملات المنطقية

تستخدم لدمج أكثر من شرط.


AND

الرمز:

&&

يجب أن تكون جميع الشروط صحيحة.

مثال:

if(age >= 18 && age <= 60)

مثال

#include <iostream>

using namespace std;

int main()
{
    int age;

    cin >> age;

    if(age >= 18 && age <= 60)
    {
        cout << "Working Age";
    }

    return 0;
}

OR

الرمز:

||

يكفي تحقق شرط واحد.

مثال:

if(number == 5 || number == 10)

مثال عملي

#include <iostream>

using namespace std;

int main()
{
    int number;

    cin >> number;

    if(number == 1 || number == 2)
    {
        cout << "Valid";
    }

    return 0;
}

NOT

الرمز:

!

يعكس النتيجة.

مثال:

if(!isLogged)

مثال

bool active = false;

if(!active)
{
    cout << "Inactive";
}

مشروع صغير: التحقق من تسجيل الدخول

#include <iostream>

using namespace std;

int main()
{
    string username;
    string password;

    cin >> username;
    cin >> password;

    if(username == "admin" &&
       password == "1234")
    {
        cout << "Welcome";
    }
    else
    {
        cout << "Access Denied";
    }

    return 0;
}

جملة Switch

عندما يكون لدينا عدد كبير من الخيارات.

الصيغة:

switch(variable)
{
case value:
    code;
    break;

default:
    code;
}

مثال

#include <iostream>

using namespace std;

int main()
{
    int day;

    cin >> day;

    switch(day)
    {
        case 1:
            cout << "Saturday";
            break;

        case 2:
            cout << "Sunday";
            break;

        case 3:
            cout << "Monday";
            break;

        default:
            cout << "Unknown";
    }

    return 0;
}

أهمية break

إذا لم تكتب break فإن البرنامج سيكمل تنفيذ الحالات التالية.

مثال:

case 1:
cout<<"One";

case 2:
cout<<"Two";

إذا أدخل المستخدم 1:

ستظهر:

One
Two

متى أستخدم switch؟

استخدمها عندما:

  • توجد خيارات كثيرة.
  • جميع الخيارات تعتمد على متغير واحد.
  • القيم معروفة مسبقاً.

مشروع آلة حاسبة بسيطة

#include <iostream>

using namespace std;

int main()
{
    float a,b;
    char op;

    cin >> a;
    cin >> op;
    cin >> b;

    switch(op)
    {
        case '+':
            cout << a+b;
            break;

        case '-':
            cout << a-b;
            break;

        case '*':
            cout << a*b;
            break;

        case '/':
            cout << a/b;
            break;

        default:
            cout << "Invalid";
    }

    return 0;
}

مشروع تحديد الزوجي والفردي

#include <iostream>

using namespace std;

int main()
{
    int num;

    cin >> num;

    if(num % 2 == 0)
    {
        cout << "Even";
    }
    else
    {
        cout << "Odd";
    }

    return 0;
}

مشروع معرفة أكبر رقم

#include <iostream>

using namespace std;

int main()
{
    int a,b;

    cin >> a;
    cin >> b;

    if(a > b)
    {
        cout << a;
    }
    else
    {
        cout << b;
    }

    return 0;
}

تمارين

التمرين الأول

اكتب برنامجاً يطلب من المستخدم رقماً.

إذا كان أكبر من 100 اطبع:

Large Number

التمرين الثاني

اكتب برنامجاً يحدد إذا كان العدد موجباً أو سالباً.


التمرين الثالث

أنشئ برنامجاً يطلب العمر ويعرض:

Child
Teen
Adult

بحسب العمر.


التمرين الرابع

أنشئ برنامجاً يحول الرقم:

1
2
3
4
5

إلى أسماء أيام باستخدام switch.


ملخص الدرس

في هذا الدرس تعلمنا:

✅ مفهوم الشروط في البرمجة.

✅ استخدام if.

✅ استخدام if else.

✅ استخدام else if.

✅ الشروط المتداخلة.

✅ المعاملات المنطقية && و || و !.

✅ جملة switch.

✅ تطبيقات عملية ومشاريع صغيرة.

في الحلقة الثالةة سنتعلم أحد أهم المواضيع في البرمجة وهو الحلقات التكرارية Loops (for - while - do while) وكيف نجعل البرنامج يكرر الأوامر آلاف المرات بكفاءة.

محرر كود جاهز قم بالتجربة


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

تعليقات

💬 🙋🏻‍♂️