Menu
CoddyTech

אופרטור מודולו

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

אופרטור המודולו (%) מחזיר את השארית לאחר חילוק. כשמחלקים מספר אחד במספר אחר, המודולו מחזיר את מה שנותר.

<?php
echo 10 % 3; // פלט: 1
?>

כאן, 10 חלקי 3 שווה ל־3 עם שארית של 1. אופרטור המודולו מחזיר את השארית הזאת.

שימוש נפוץ באופרטור מודולו הוא לבדוק אם מספר הוא זוגי או אי־זוגי. בחלוקה ב־2, השארית היא 0 עבור מספר זוגי ו־1 עבור מספר אי־זוגי (-1 אם המספר האי־זוגי שלילי), לכן אם בחלוקת מספר ב־2 אין שארית, הוא זוגי; אחרת, הוא אי־זוגי:

<?php
$number = 8;
echo $number % 2; // פלט: 0 (זוגי)

$number = 7;
echo $number % 2; // פלט: 1 (אי־זוגי)
?>

זה עובד רק לבדיקות זוגיות/אי־זוגיות, כי חלוקה ב־2 תמיד נותנת שארית של 0 או 1 (או ‎-1 למספר אי־זוגי שלילי). עם מחלקים אחרים, כאשר שני המספרים חיוביים, השארית יכולה להיות כל ערך מ־0 ועד אחד פחות מהמחלק. התוצאה מקבלת את הסימן של המספר שמחלקים, לכן -17 % 5 הוא -2.

דוגמאות נוספות שיעזרו לך להבין את הדפוס:

<?php
echo 15 % 4; // פלט: 3 (15 = 4*3 + 3)
echo 20 % 5; // פלט: 0 (20 = 5*4 + 0)

$dividend = 17;
$divisor = 5;
echo $dividend % $divisor; // פלט: 2 (17 = 5*3 + 2)
?>
challenge icon

אתגר

קל

קראו שני מספרים מהקלט: מחולק ומחלק.

חשבו והדפיסו את השארית כאשר המספר הראשון מחולק במספר השני.

דוגמה:

אם הקלטים הם 17 ו-5, הפלט צריך להיות 2 (כי 17 ÷ 5 = 3 עם שארית של 2).

נסו בעצמכם

<?php
// קראו את הקלט
$dividend = intval(fgets(STDIN));
$divisor = intval(fgets(STDIN));

// TODO: כתבו את הקוד שלכם למטה כדי לחשב את השארית


// הציגו את התוצאה
echo $remainder;
?>
quiz iconבחנו את עצמכם

השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.

כל השיעורים ביחידה יסודות

תרגלו בעצמכם: קומפיילר PHP אונליין