شروط 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
: عندما يكون لديك عدة حالات ممكنة بناءً على قيم مختلفة لمتغير أو مجموعة من الشروط، وتريد التعامل مع كل حالة بشكل مختلف.
أمثلة إضافية سريعة:
- التحقق من رقم زوجي أو فردي: Dart
int رقم = 10; if (رقم % 2 == 0) { print("$رقم هو رقم زوجي."); } else { print("$رقم هو رقم فردي."); }
- تحديد حالة الطقس: Dart
String حالة_الطقس = "مشمش"; 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 وطباعة “جيد جدًا”.
ملاحظات هامة:
- عبارة else ليست إلزامية: يمكن استخدام if و else if بدون else.
- ترتيب الشروط مهم: يتم تنفيذ أول شرط صحيح فقط، حتى لو تحقق أكثر من شرط.
- قيمة الشرط: يجب أن تكون تعبيرًا منطقيًا (true أو false).
هل تحتاج المزيد من الأمثلة أو توضيحات؟ 😊