Menu
Coddy logo textTech

תנאי שמירה

חלק מהיחידה לוגיקה וזרימת תוכנית במסלול ה-C# של Coddy. שיעור 19 מתוך 66.

תנאי הגנה הם משפטי תנאי בתחילתה של מתודה, שבודקים מקרי קצה או קלטים לא תקינים ומחזירים ערך מוקדם אם התנאים האלה מתקיימים.

בואו ניצור מתודה ללא סעיף שמירה:

public void ProcessOrder(Order order)
{
    if (order != null)
    {
        // עבד את ההזמנה
        // שורות קוד רבות כאן...
    }
}

כעת, נשכתב את זה עם סעיף שמירה:

public void ProcessOrder(Order order)
{
    if (order == null)
    {
        return; // תנאי שמירה - צא מוקדם אם order הוא null
    }
    
    // עבד את ההזמנה
    // הרבה שורות קוד כאן...
}

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

challenge icon

אתגר

קל

צרו מתודה בשם DivideNumbers שמקבלת שני מספרים שלמים, numerator ו-denominator.

  1. הוסיפו תנאי הגנה כדי לבדוק אם המכנה הוא אפס.
  2. אם המכנה הוא אפס, הדפיסו: "Cannot divide by zero" והחזירו 0.
  3. אחרת, חלקו את המונה במכנה והחזירו את התוצאה.

נסו בעצמכם

using System;

public class Program
{
    public static int DivideNumbers(int numerator, int denominator)
    {
        // כתבו את הקוד שלכם כאן
    }
    
    public static void Main()
    {
        // קראו את הקלטים מהמסוף
        int numerator = Convert.ToInt32(Console.ReadLine());
        int denominator = Convert.ToInt32(Console.ReadLine());
        
        // קראו למתודה DivideNumbers
        int result = DivideNumbers(numerator, denominator);
        
        // הדפיסו את התוצאה
        Console.WriteLine(result);
    }
}
quiz iconבחנו את עצמכם

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

כל השיעורים ביחידה לוגיקה וזרימת תוכנית

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