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

تحدي: مجموع الأرقام

جزء من قسم Fundamentals في رحلة Dart على Coddy — الدرس 93 من 94.

challenge icon

التحدي

سهل

في هذا التحدي، ستقوم بإنشاء دالة تحسب مجموع الأرقام في قائمة بناءً على شروط معينة.

لديك قائمة من الأعداد الصحيحة، وتحتاج إلى إكمال الدالة sumWithCondition التي تجمع فقط الأرقام التي تستوفي معايير محددة.

يجب أن تقوم الدالة بما يلي:

  • حساب مجموع كل الأرقام في القائمة التي تكون أكبر من قيمة threshold
  • التوقف عن إضافة الأرقام فوراً بعد أن يتجاوز المجموع قيمة maxSum (قد يكون المجموع النهائي أكبر من maxSum)
  • إرجاع المجموع النهائي

هام: تتوقف الدالة عن إضافة الأرقام بعد إضافة رقم يجعل المجموع يتجاوز maxSum. وهذا يعني أن النتيجة النهائية يمكن أن تكون أكبر من maxSum.

مثال: إذا كانت الأرقام الأكبر من threshold هي [15, 20, 25, 30] و maxSum هو 50:

  • إضافة 15: sum = 15 (استمرار)
  • إضافة 20: sum = 35 (استمرار)
  • إضافة 25: sum = 60 (يتجاوز 50، لذا توقف هنا)
  • النتيجة: 60 (وليس 50)

جرّب بنفسك

void main() {
  // حالات الاختبار
  List<int> numbers = [5, 10, 15, 20, 25, 30];
  
  // جمع الأرقام الأكبر من 12، بحد أقصى للمجموع 50
  int result = sumWithCondition(numbers, 12, 50);
  print('Sum of numbers > 12 (max 50): $result');
  
  // جمع الأرقام الأكبر من 8، بحد أقصى للمجموع 100
  result = sumWithCondition(numbers, 8, 100);
  print('Sum of numbers > 8 (max 100): $result');
}

// TODO: أكمل هذه الدالة لجمع الأرقام بناءً على الشروط
int sumWithCondition(List<int> numbers, int threshold, int maxSum) {
  int sum = 0;
  
  // TODO: قم بالمرور عبر قائمة الأرقام
  // TODO: أضف الأرقام الأكبر من العتبة (threshold) فقط إلى المجموع
  // TODO: توقف عن الإضافة إذا تجاوز المجموع الحد الأقصى (maxSum)
  
  return sum;
}

جميع دروس Fundamentals