Menu
Coddy logo textTech

אופרטור תנאי

חלק מהיחידה יסודות במסלול ה-C# של Coddy. שיעור 28 מתוך 69.

האופרטור הטרנרי הוא משפט if-else פשוט בן שורה אחת. התחביר שלו הוא:

variable = (condition) ? value_if_true : value_if_false;

האופרטור הטרנרי מעריך את התנאי. אם הוא true, הוא משייך למשתנה את value_if_true; אחרת, הוא משייך לו את value_if_false.

לדוגמה:

int age = 20;
string message = (age >= 18) ? "Adult" : "Minor";

בדוגמה הזאת, מכיוון ש־age גדול מ־18 או שווה לו, הערך "Adult" יוקצה ל־message. אם age היה קטן מ־18, הערך "Minor" היה מוקצה ל־message.

אפשר לקנן אופרטורים מותנים כדי לטפל במספר תנאים:

int score = 75;
String grade = (score >= 90) ? "A" : (score >= 80) ? "B" : (score >= 70) ? "C" : "F";

הקוד הזה בודק כמה תנאים לפי הסדר. אם score >= 90, הציון הוא "A"; אחרת, אם score >= 80, הציון הוא "B"; אחרת, אם score >= 70, הציון הוא "C"; אחרת, "F".

הערה: אופרטורים טרנריים מקוננים עלולים להיות קשים לקריאה. בתנאים מורכבים, השתמשו במשפטי if-else במקום זאת.

challenge icon

אתגר

מתחילים

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

  1. לקבל מהמשתמש קלט של מספר שלם. השורה שקוראת את המספר לתוך number כבר נכתבה עבורכם.
  2. להשתמש באופרטור הטרנרי כדי לקבוע אם המספר חיובי, שלילי או אפס. לשמור את מחרוזת positive, negative או zero בתוך result.
  3. להדפיס את התוצאה בפורמט: "The number is [positive/negative/zero]".

אפשר להשתמש באופרטור טרנרי מקונן כדי לפתור את הבעיה.

נסו בעצמכם

using System;

public class Program {
    public static void Main(string[] args) {
        int number = int.Parse(Console.ReadLine());
        string result = "";
        
        // כתבו את הקוד שלכם למטה
        
        
        Console.WriteLine("The number is " + result);
    }
}
quiz iconבחנו את עצמכם

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

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

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