جملة If - Else المتداخلة
جزء من قسم Fundamentals في رحلة R على Coddy — الدرس 25 من 78.
أحياناً لا يكون خياران كافيين. ماذا لو كنت بحاجة للتحقق من شروط متعددة والتعامل مع كل منها بشكل مختلف؟ يمكنك وضع جملة if-else داخل كتلة if أو else أخرى لإنشاء مسارات قرار أكثر تعقيداً.
score <- 85
if (score >= 90) {
print("Grade: A")
} else {
if (score >= 80) {
print("Grade: B")
} else {
print("Grade: C or below")
}
}يتحقق R أولاً مما إذا كانت الدرجة 90 أو أكثر. وبما أن 85 لا تستوفي هذا الشرط، فإنه ينتقل إلى كتلة else.
في الداخل، يتحقق if آخر مما إذا كانت الدرجة 80 على الأقل. وبما أن 85 تجتاز هذا الاختبار، فإنه يطبع "Grade: B".
توفر لغة R طريقة أكثر وضوحاً لكتابة هذا باستخدام else if:
score <- 85
if (score >= 90) {
print("Grade: A")
} else if (score >= 80) {
print("Grade: B")
} else {
print("Grade: C or below")
}كلا النهجين يعملان بنفس الطريقة، ولكن else if تجعل الكود الخاص بك أكثر بساطة وأسهل في القراءة. يمكنك ربط أي عدد تريده من كتل else if حسب الحاجة، وسيقوم R بتنفيذ الكتلة الأولى فقط التي يكون شرطها صحيحاً.
التحدي
سهلأنشئ نظاماً لتسعير التذاكر باستخدام جمل if-else أو else if المتداخلة لتحديد سعر التذكرة بناءً على العمر.
لقد تم تزويدك بالمتغير التالي:
age <- 25اكتب سلسلة من الشروط لتحديد وطباعة سعر التذكرة بناءً على هذه القواعد:
- إذا كان العمر أقل من 5، فاطبع
"Free" - إذا كان العمر بين 5 و 12 (شاملاً)، فاطبع
"$5" - إذا كان العمر بين 13 و 17 (شاملاً)، فاطبع
"$8" - إذا كان العمر بين 18 و 64 (شاملاً)، فاطبع
"$12" - إذا كان العمر 65 أو أكثر، فاطبع
"$7"
استخدم دالة print() للمخرجات الخاصة بك.
ورقة مرجعية
يمكنك تضمين جمل if-else داخل بعضها البعض للتحقق من شروط متعددة:
score <- 85
if (score >= 90) {
print("Grade: A")
} else {
if (score >= 80) {
print("Grade: B")
} else {
print("Grade: C or below")
}
}هناك نهج أكثر ترتيباً وهو استخدام else if لربط شروط متعددة:
score <- 85
if (score >= 90) {
print("Grade: A")
} else if (score >= 80) {
print("Grade: B")
} else {
print("Grade: C or below")
}تقوم لغة R بتقييم الشروط بالترتيب وتنفذ فقط الكتلة البرمجية الأولى التي يكون شرطها صحيحاً. يمكنك ربط أي عدد تريده من كتل else if.
جرّب بنفسك
# المتغير المعطى
age <- 25
# المهام المطلوبة: اكتب الكود الخاص بك أدناه
# استخدم جمل if-else المتداخلة أو else if لتحديد سعر التذكرة
# بناءً على قواعد العمر المقدمةيتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس Fundamentals
4المعاملات - الجزء الثاني
المعاملات المنطقية (AND, OR)المعاملات المنطقية - الجزء الثاني (NOT)مراجعة - المنطق البسيطالمنطق المتجهي - الجزء الأولالمنطق المتجهي - الجزء الثاني2المتغيرات وأنواع البيانات
نوع البيانات الرقمينوع البيانات الصحيحنوع البيانات الحرفينوع البيانات المنطقيالتحقق من أنواع البياناتقواعد التسميةالقيم المفقودة: NAملخص - إنشاء المتغيرات8الحلقات التكرارية
حلقة Forحلقة Whileجملة Breakجملة Next (Continue)مراجعة - المضروب (Factorial)توليد المتتاليات (seq, :)الحلقات المتداخلةمراجعة - الإدخال الديناميكي (Dynamic Input)3المعاملات - الجزء الأول
المعاملات الحسابيةقسمة الأعداد الصحيحة وباقي القسمةمعاملات الإسنادملخص - عمليات رياضية بسيطةمعاملات المقارنة6أساسيات الإدخال والإخراج
طباعة المخرجاتاستخدام Cat للمخرجاتالمخرجات مع المتغيراتقراءة المدخلات باستخدام readline()أساسيات تحويل أنواع البياناتمراجعة - حاسبة العمرمراجعة - صح أم خطأ