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

مراجعة - التكرار عبر البيانات

جزء من قسم الأساسيات في رحلة PHP على Coddy. الدرس 53 من 71.

challenge icon

التحدي

سهل

اقرأ ثلاثة أسطر من الإدخال:

  1. قائمة أعداد صحيحة مفصولة بفواصل (مثلًا، 12,5,8,20,3,15,7)
  2. قيمة الحد الأدنى
  3. قيمة الحد الأقصى

عالج array للعثور على sum لجميع numbers التي تقع ضمن range (inclusive لكلٍّ من الحد الأدنى والحد الأقصى). تحقّق أولًا مما إذا كان number يساوي exactly double للحد الأقصى، وإذا كان الأمر كذلك، فتوقّف فورًا باستخدام break. وإلا، استخدم continue لتجاوز numbers الموجودة خارج range.

يُقرأ السطر الأول باستخدام explode، لذلك يحتوي $numbers على سلاسل نصية، بينما $min و$max عددان صحيحان. حوّل كل عنصر باستخدام intval() (أو تحويل (int)) قبل مقارنته بالحدود أو إضافته إلى sum.

اطبع سطرين:

  1. sum للأعداد valid الموجودة ضمن range
  2. عدد numbers التي أُضيفت إلى sum

المثال 1:

إذا كانت المدخلات هي 5,12,8,20,15,3,10، و5، و15، فيجب أن يكون الناتج:

50
5

(5 + 12 + 8 + 15 + 10 = 50، خمسة أعداد تقع ضمن range من 5 إلى 15)

المثال 2:

إذا كانت المدخلات هي 2,8,12,20,6,14، و5، و10، فيجب أن يكون الناتج:

8
1

(يتوقف التنفيذ عند 20 لأنه يساوي double للحد الأقصى 10؛ أُضيف 8 فقط قبل تلك النقطة، لذلك فإن sum يساوي 8 والعدد هو 1)

المثال 3:

إذا كانت المدخلات هي 1,2,3,4,5، و10، و20، فيجب أن يكون الناتج:

0
0

(لا توجد numbers تقع ضمن range من 10 إلى 20)

جرّب بنفسك

<?php
// اقرأ المدخلات
$numbers = explode(',', trim(fgets(STDIN)));
$min = intval(trim(fgets(STDIN)));
$max = intval(trim(fgets(STDIN)));

// تهيئة المتغيرات
$sum = 0;
$count = 0;

// TODO: اكتب الكود الخاص بك هنا
// مرّ عبر مصفوفة الأرقام
// استخدم 'continue' لتخطي الأرقام خارج النطاق (من min إلى max شامل)
// استخدم 'break' إذا واجهت رقماً يساوي ضعف الحد الأقصى بالضبط
// تتبع مجموع وعدد الأرقام الصالحة


// أخرج النتائج
echo $sum . "\n";
echo $count;
?>

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

تدرّب بنفسك: مترجم PHP عبر الإنترنت