Menu
Coddy logo textTech

if - else מקונן

חלק מהיחידה יסודות במסלול ה-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 יבצע רק את הבלוק הראשון שהתנאי שלו נכון.

challenge icon

אתגר

קל

צרו מערכת לתמחור כרטיסים באמצעות תנאי if-else או else if מקוננים, כדי לקבוע את מחיר הכרטיס בהתאם לגיל.

המשתנה הבא נתון לכם:

age <- 25

כתבו סדרת תנאים כדי לקבוע ולהדפיס את מחיר הכרטיס לפי הכללים הבאים:

  • אם הגיל קטן מ־5, הדפיסו "Free"
  • אם הגיל הוא בין 5 ל־12 (כולל), הדפיסו "$5"
  • אם הגיל הוא בין 13 ל־17 (כולל), הדפיסו "$8"
  • אם הגיל הוא בין 18 ל־64 (כולל), הדפיסו "$12"
  • אם הגיל הוא 65 ומעלה, הדפיסו "$7"

השתמשו בפונקציה print() כדי להציג את הפלט.

נסו בעצמכם

# משתנה שסופק
age <- 25

# TODO: כתבו את הקוד שלכם למטה
# השתמשו במשפטי if-else מקוננים או במשפטי else if כדי לקבוע את מחיר הכרטיס
# בהתאם לכללי הגיל שסופקו
quiz iconבחנו את עצמכם

השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.

כל השיעורים ביחידה יסודות

תרגלו בעצמכם: קומפיילר R אונליין