شروط if و else if و else في لغة Dart بالتفصيل

شروط if و else if و else في لغة Dart بالتفصيل

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

1. شرط if (إذا):

شرط if هو أبسط أنواع الشروط، ويُستخدم لتنفيذ جزء من الكود فقط إذا كان شرط معين صحيحًا (true).

الصيغة العامة لشرط if:

Dart

if (الشرط) {
  // الأوامر التي ستنفذ إذا كان الشرط صحيحًا
}

شرح الصيغة:

  • if: الكلمة المفتاحية التي تُشير إلى بداية الشرط.
  • (الشرط): يُوضع هنا التعبير الشرطي الذي سيتم تقييمه. يجب أن يكون نتيجة هذا التعبير قيمة منطقية (boolean) إما true أو false.
  • { ... }: يُسمى هذا الجزء “كتلة الكود” (code block). يتم وضع الأوامر التي تُريد تنفيذها إذا كان الشرط صحيحًا داخل هذه الأقواس المعقوفة.

مثال 1: بسيط باستخدام if

Dart

void main() {
  int درجة_الطالب = 75;

  if (درجة_الطالب >= 60) {
    print("الطالب ناجح!");
  }
}

شرح المثال 1:

  • في هذا المثال، قمنا بتعريف متغير اسمه درجة_الطالب وأعطيناه قيمة 75.
  • ثم استخدمنا شرط if للتحقق مما إذا كانت درجة_الطالب أكبر من أو تساوي 60.
  • الشرط درجة_الطالب >= 60 هو صحيح لأن 75 بالفعل أكبر من 60.
  • نتيجة لذلك، سيتم تنفيذ الأمر داخل كتلة الكود وهو print("الطالب ناجح!")، وسيتم طباعة “الطالب ناجح!” في الطرفية.
  • إذا كانت قيمة درجة_الطالب أقل من 60 (مثلاً 50)، فسيكون الشرط خاطئًا، ولن يتم تنفيذ أي شيء داخل كتلة الكود، ولن يتم طباعة أي شيء.

2. شرط else (وإلا):

يأتي شرط else مُلحقًا بشرط if. يُستخدم لتحديد مجموعة أوامر بديلة يتم تنفيذها إذا كان شرط if خاطئًا (false). بمعنى آخر، if ينفذ إذا كان الشرط صحيح، و else ينفذ إذا لم يكن الشرط صحيحًا.

الصيغة العامة لشرط if-else:

Dart

if (الشرط) {
  // الأوامر التي ستنفذ إذا كان الشرط صحيحًا
} else {
  // الأوامر التي ستنفذ إذا كان الشرط خاطئًا
}

شرح الصيغة:

  • كل شيء في if كما هو مشروح سابقًا.
  • else: الكلمة المفتاحية التي تُشير إلى بداية الجزء البديل الذي سيتم تنفيذه في حالة عدم تحقق شرط if.
  • { ... } (بعد else): كتلة الكود البديلة. يتم وضع الأوامر التي تُريد تنفيذها إذا كان شرط if خاطئًا داخل هذه الأقواس المعقوفة.

مثال 2: باستخدام if-else

Dart

void main() {
  int عمر_المستخدم = 15;

  if (عمر_المستخدم >= 18) {
    print("مرحبًا بك، يمكنك الدخول.");
  } else {
    print("عذرًا، لا يمكنك الدخول لأنك تحت السن القانوني.");
  }
}

شرح المثال 2:

  • في هذا المثال، نتحقق من عمر المستخدم عمر_المستخدم.
  • إذا كان عمر_المستخدم أكبر من أو يساوي 18 (الشرط صحيح)، سيتم طباعة “مرحبًا بك، يمكنك الدخول.”.
  • وإلا (أي إذا كان عمر_المستخدم أقل من 18 – الشرط خاطئ)، سيتم تنفيذ كتلة else وطباعة “عذرًا، لا يمكنك الدخول لأنك تحت السن القانوني.”.

3. شرط else if (أو إذا كان):

شرط else if يُستخدم لإضافة عدة شروط متتالية يتم فحصها بالترتيب. إذا كان شرط if الأول خاطئًا، يتم فحص شرط else if الأول. إذا كان شرط else if الأول خاطئًا أيضًا، يتم فحص شرط else if الثاني، وهكذا. يمكنك استخدام عدد غير محدود من شروط else if.

الصيغة العامة لشرط if-else if-else (يمكن أن يكون هناك أكثر من else if):

Dart

if (الشرط_الأول) {
  // الأوامر التي ستنفذ إذا كان الشرط_الأول صحيحًا
} else if (الشرط_الثاني) {
  // الأوامر التي ستنفذ إذا كان الشرط_الثاني صحيحًا
} else if (الشرط_الثالث) {
  // الأوامر التي ستنفذ إذا كان الشرط_الثالث صحيحًا
}
// ... يمكنك إضافة المزيد من شروط else if حسب الحاجة ...
else {
  // الأوامر التي ستنفذ إذا كانت جميع الشروط السابقة خاطئة
}

شرح الصيغة:

  • if (الشرط_الأول): الشرط الأول الذي يتم فحصه.
  • else if (الشرط_الثاني): يأتي بعد if ويتم فحصه فقط إذا كان الشرط_الأول خاطئًا.
  • else if (الشرط_الثالث): يأتي بعد else if السابق ويتم فحصه فقط إذا كان الشرط_الثاني خاطئًا.
  • else (اختياري): في النهاية، يمكنك إضافة else اختياريًا لتحديد أوامر يتم تنفيذها إذا كانت جميع شروط if و else if السابقة خاطئة. إذا لم تضع else، ولم يتحقق أي من الشروط، فلن يتم تنفيذ أي شيء من كتل الشروط.

مثال 3: باستخدام if-else if-else (نظام تقدير الدرجات)

Dart

void main() {
  int درجة_الاختبار = 85;
  String التقدير;

  if (درجة_الاختبار >= 90) {
    التقدير = "ممتاز";
  } else if (درجة_الاختبار >= 80) {
    التقدير = "جيد جدًا";
  } else if (درجة_الاختبار >= 70) {
    التقدير = "جيد";
  } else if (درجة_الاختبار >= 60) {
    التقدير = "مقبول";
  } else {
    التقدير = "راسب";
  }

  print("التقدير: $التقدير"); // سيتم طباعة: التقدير: جيد جدًا
}

شرح المثال 3:

  • في هذا المثال، لدينا نظام تقدير درجات بناءً على درجة_الاختبار.
  • الشرط الأول: if (درجة_الاختبار >= 90) – إذا كانت الدرجة 90 أو أكثر، التقدير “ممتاز”. هذا الشرط خاطئ لأن الدرجة 85.
  • الشرط الثاني:else if (درجة_الاختبار >= 80) – إذا كانت الدرجة 80 أو أكثر، التقدير “جيد جدًا”. هذا الشرط صحيح لأن الدرجة 85 هي بالفعل أكبر من 80.
    • بمجرد تحقق هذا الشرط، يتم تنفيذ الأمر التقدير = "جيد جدًا";، ويتوقف فحص باقي شروط else if و else.
  • باقي الشروط (لن يتم فحصها في هذه الحالة): باقي شروط else if و else لن يتم فحصها لأننا بالفعل وجدنا شرطًا صحيحًا وهو else if (درجة_الاختبار >= 80).
  • أخيرًا، يتم طباعة “التقدير: جيد جدًا”.

ملاحظات هامة حول شروط if و else if و else:

  • الترتيب مهم في else if: يتم فحص شروط else if بالترتيب من الأعلى إلى الأسفل. أول شرط else if يتم العثور عليه صحيحًا، يتم تنفيذ كتلته ويتوقف الفحص. لذلك، يجب أن يكون ترتيب الشروط منطقيًا بناءً على احتياجاتك. في مثال نظام التقدير، يجب أن يكون الشرط الخاص بـ “ممتاز” هو الأول، ثم “جيد جدًا”، وهكذا بالترتيب التنازلي.
  • else اختياري: الجزء else في if-else if-else هو اختياري. يمكنك استخدام if فقط، أو if-else فقط، أو if مع عدة else if بدون else في النهاية. في حالة عدم وجود else وعدم تحقق أي من شروط if و else if، فلن يتم تنفيذ أي من كتل الشروط.
  • كتلة الكود { ... } ضرورية إذا كان هناك أكثر من أمر واحد: إذا كانت كتلة الكود الخاصة بـ if أو else if أو else تحتوي على أكثر من أمر واحد، فيجب وضعها داخل أقواس معقوفة { ... }. إذا كان هناك أمر واحد فقط، يمكنك اختصار الكتابة وحذف الأقواس المعقوفة (لكن يُفضل دائمًا استخدامها لتجنب الأخطاء وجعل الكود أكثر وضوحًا).

متى نستخدم if و else if و else؟

  • if: عندما تريد تنفيذ كود معين فقط في حالة تحقق شرط واحد بسيط.
  • if-else: عندما يكون لديك حالتان متبادلتان، وتريد تنفيذ كود معين في حالة تحقق شرط، وكود بديل في حالة عدم تحققه.
  • if-else if-else: عندما يكون لديك عدة حالات ممكنة بناءً على قيم مختلفة لمتغير أو مجموعة من الشروط، وتريد التعامل مع كل حالة بشكل مختلف.

أمثلة إضافية سريعة:

  • التحقق من رقم زوجي أو فردي: Dartint رقم = 10; if (رقم % 2 == 0) { print("$رقم هو رقم زوجي."); } else { print("$رقم هو رقم فردي."); }
  • تحديد حالة الطقس: DartString حالة_الطقس = "مشمش"; if (حالة_الطقس == "مشمش") { print("الطقس مشمس وجميل!"); } else if (حالة_الطقس == "ممطر") { print("الطقس ممطر، أحضر مظلتك."); } else { print("الطقس غير محدد."); }

خلاصة:

شروط if و else if و else هي أدوات أساسية في لغة Dart (وفي معظم لغات البرمجة) للتحكم في تدفق البرنامج واتخاذ قرارات بناءً على الشروط. فهم هذه الشروط واستخدامها بشكل صحيح سيجعل برامجك أكثر قوة ومرونة وقدرة على التعامل مع سيناريوهات مختلفة.

شرح if و else if في Dart مع الأمثلة بالتفصيل

في Dart، عبارات if و else if و else تستخدم لتنفيذ تعليمات معينة بناءً على شرط منطقي معين. إذا تحقق الشرط في عبارة if يتم تنفيذ الكود بداخلها، وإذا لم يتحقق يتم التحقق من الشروط في عبارات else if (إن وجدت)، وفي حالة عدم تحقق أي شرط يتم تنفيذ الكود في else (إذا كانت موجودة).


التركيب العام لـ if else if في Dart

dartCopyEditif (شرط) {
  // الكود الذي يتم تنفيذه إذا تحقق الشرط
} else if (شرط آخر) {
  // الكود الذي يتم تنفيذه إذا تحقق الشرط الآخر
} else {
  // الكود الذي يتم تنفيذه إذا لم يتحقق أي شرط
}

أمثلة مفصلة

1. استخدام if فقط

dartCopyEditvoid main() {
  int number = 10;

  if (number > 5) {
    print("الرقم أكبر من 5");
  }
}

شرح:
في هذا المثال، سيتم طباعة “الرقم أكبر من 5” لأن الشرط number > 5 تحقق.


2. استخدام if و else

dartCopyEditvoid main() {
  int number = 3;

  if (number > 5) {
    print("الرقم أكبر من 5");
  } else {
    print("الرقم ليس أكبر من 5");
  }
}

شرح:
بما أن الرقم 3 ليس أكبر من 5، سيتم تنفيذ الكود داخل else وطباعة “الرقم ليس أكبر من 5”.


3. استخدام if و else if و else

dartCopyEditvoid main() {
  int number = 5;

  if (number > 5) {
    print("الرقم أكبر من 5");
  } else if (number == 5) {
    print("الرقم يساوي 5");
  } else {
    print("الرقم أقل من 5");
  }
}

شرح:
في هذا المثال، بما أن number == 5، سيتم تنفيذ الكود داخل else if وطباعة “الرقم يساوي 5”.


4. التحقق من شروط متعددة باستخدام else if

dartCopyEditvoid main() {
  int grade = 85;

  if (grade >= 90) {
    print("ممتاز");
  } else if (grade >= 75) {
    print("جيد جدًا");
  } else if (grade >= 50) {
    print("جيد");
  } else {
    print("راسب");
  }
}

شرح:
بما أن الدرجة 85 أكبر من أو تساوي 75 وأقل من 90، سيتم تنفيذ الكود داخل else if وطباعة “جيد جدًا”.


ملاحظات هامة:

  1. عبارة else ليست إلزامية: يمكن استخدام if و else if بدون else.
  2. ترتيب الشروط مهم: يتم تنفيذ أول شرط صحيح فقط، حتى لو تحقق أكثر من شرط.
  3. قيمة الشرط: يجب أن تكون تعبيرًا منطقيًا (true أو false).

هل تحتاج المزيد من الأمثلة أو توضيحات؟ 😊