Menu
Coddy logo textTech
flag Ar iconالعربيةdown icon

ماذا تشتري

جزء من قسم الأساسيات في رحلة Swift على Coddy — الدرس 86 من 86.

challenge icon

التحدي

سهل

اكتب دالة باسم whatToBuy تأخذ itemNames و itemPrices و budget، وتعيد مصفوفة من أسماء العناصر التي يمكن شراؤها ضمن الميزانية المحددة.

قم بالمرور على العناصر بالترتيب. لكل عنصر، تحقق مما إذا كانت إضافة سعره إلى المجموع الجاري ستبقيك ضمن الميزانية. إذا كان الأمر كذلك، أضف اسم العنصر إلى قائمة التسوق الخاصة بك وقم بتحديث المجموع. إذا كان العنصر سيتجاوز الميزانية، فتخطه واستمر في فحص العناصر المتبقية.

المنطق:

  1. ابدأ بمجموع جاري قيمته 0.0 ومصفوفة نتائج فارغة
  2. قم بالمرور عبر كل عنصر باستخدام الفهرس (index)
  3. إذا كان المجموع الجاري بالإضافة إلى سعر العنصر الحالي أقل من أو يساوي الميزانية، فأضف اسم العنصر إلى النتيجة وقم بتحديث المجموع الجاري
  4. إذا كانت إضافة العنصر ستتجاوز الميزانية، فتخطه وانتقل إلى العنصر التالي
  5. أعد مصفوفة أسماء العناصر التي يمكن تحمل تكلفتها

المعاملات (Parameters):

  • itemNames ([String]): مصفوفة من أسماء العناصر
  • itemPrices ([Double]): مصفوفة من الأسعار المقابلة (بنفس طول itemNames)
  • budget (Double): الحد الأقصى للمبلغ الذي يمكن إنفاقه

المخرجات: مصفوفة من أسماء العناصر التي يمكن تحمل تكلفتها ضمن الميزانية، بنفس ترتيب ظهورها ([String])

مثال:

// itemNames: ["Apple", "Bread", "Milk"]
// itemPrices: [2.0, 3.5, 4.0]
// budget: 6.0
// Result: ["Apple", "Bread"]
// (Apple costs 2.0, Bread costs 3.5, total is 5.5 which is within budget)
// (Milk would make total 9.5, which exceeds 6.0, so it's skipped)

جرّب بنفسك

func whatToBuy(itemNames: [String], itemPrices: [Double], budget: Double) -> [String] {
    // اكتب الكود هنا
}

جميع دروس الأساسيات