Menu
Coddy logo textTech

חזרה: מעבר איטרטיבי על נתונים

חלק מהיחידה יסודות במסלול ה-PHP של Coddy. שיעור 53 מתוך 71.

challenge icon

אתגר

קל

קרא שלוש שורות קלט:

  1. רשימה של מספרים שלמים המופרדים בפסיקים (למשל, 12,5,8,20,3,15,7)
  2. ערך סף מינימלי
  3. ערך סף מרבי

עבד את המערך כדי למצוא את סכום כל המספרים שנמצאים בטווח (כולל הערך המינימלי והמרבי). תחילה בדוק אם מספר הוא בדיוק פי שניים מערך הסף המרבי, ואם כן, עצור מיד באמצעות break. אחרת, השתמש ב-continue כדי לדלג על מספרים שמחוץ לטווח.

השורה הראשונה נקראת באמצעות explode, ולכן $numbers מכיל מחרוזות, בעוד $min ו-$max הם מספרים שלמים. המר כל איבר באמצעות intval() (או המרה מסוג (int)) לפני שתשווה אותו לערכי הסף או תוסיף אותו לסכום.

הדפס שתי שורות:

  1. סכום המספרים התקינים שנמצאים בטווח
  2. מספר המספרים שנוספו לסכום

דוגמה 1:

אם הקלט הוא 5,12,8,20,15,3,10, 5 ו-15, הפלט צריך להיות:

50
5

(5 + 12 + 8 + 15 + 10 = 50, חמישה מספרים נמצאים בטווח 5-15)

דוגמה 2:

אם הקלט הוא 2,8,12,20,6,14, 5 ו-10, הפלט צריך להיות:

8
1

(העיבוד נעצר ב-20 כי הוא פי שניים מהערך המרבי 10; רק 8 נוסף לפני נקודה זו, ולכן הסכום הוא 8 והספירה היא 1)

דוגמה 3:

אם הקלט הוא 1,2,3,4,5, 10 ו-20, הפלט צריך להיות:

0
0

(אין מספרים שנמצאים בטווח 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 אונליין