תרגול מדעי המחשב

מערך של עצמים

בינוני C#

המשימה

נתונה המחלקה Product עם שתי תכונות פרטיות: שם ומחיר.

השלם את המחלקה, ואז כתוב **שתי פעולות חיצוניות** (סטטיות) שמקבלות
מערך של מוצרים:

1. פעולה שמחזירה את המוצר היקר ביותר.
2. פעולה שמקבלת גם מחיר סף, ומחזירה כמה מוצרים יקרים ממנו.

הנחיות:
• פעולה חיצונית אינה יכולה לגשת לתכונות הפרטיות ישירות — היא חייבת
  לעבור דרך הפעולות המאחזרות. זו הנקודה של התרגיל.
• אתחל את "היקר ביותר" לאיבר הראשון במערך, לא ל-null ולא למחיר 0.
• אפשר להניח שהמערך אינו ריק בפעולה הראשונה.
• השוואת מחירים היא השוואת מספרים; אל תשווה שמות.

```ds:table
{"title":"המוצרים שבדוגמה","rows":[["שם","מחיר"],["Pen","12.5"],["Book","89.0"],["Bag","150.0"],["Cup","30.0"]]}
```

קוד הפתיחה

using System;

class Product {
    private string name;
    private double price;

    public Product(string name, double price) {
        // אתחל את התכונות
    }

    public string GetName() {
        return "";   // החזר את name
    }

    public double GetPrice() {
        return 0;    // החזר את price
    }
}

class Program {

    /** מחזירה את המוצר היקר ביותר במערך. */
    static Product MostExpensive(Product[] arr) {
        // כתוב את הפתרון כאן
        return arr[0];   // מציב זמני — כדי שהשלד ירוץ לפני שתכתוב
    }

    /** מחזירה כמה מוצרים במערך יקרים ממש מ-limit. */
    static int CountAbove(Product[] arr, double limit) {
        // כתוב את הפתרון כאן
        return 0;
    }

    static void Main() {
        Product[] arr = {
            new Product("Pen",  12.5),
            new Product("Book", 89.0),
            new Product("Bag",  150.0),
            new Product("Cup",  30.0)
        };

        Console.WriteLine(MostExpensive(arr).GetName());   // Bag
        Console.WriteLine(CountAbove(arr, 20.0));          // 3
        Console.WriteLine(CountAbove(arr, 150.0));         // 0
        Console.WriteLine(CountAbove(arr, 1000.0));        // 0

        Product[] one = { new Product("Solo", 5.0) };
        Console.WriteLine(MostExpensive(one).GetName());   // Solo
    }
}

כדי לכתוב, להריץ ולקבל משוב — התחבר עם חשבון Google. לוקח שנייה.

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