אופרטור מודולו
חלק מהיחידה יסודות במסלול ה-C++ של Coddy. שיעור 17 מתוך 74.
האופרטור מודולו % מחזיר את השארית של חלוקה. ב-C++ משתמשים בו בתחביר פשוט:
result = dividend % divisor;- dividend: המספר שמחלקים.
- divisor: המספר שבו מחלקים את המחולק.
- result: השארית של החלוקה.
לדוגמה:
result = 10 % 3;כאן, 10 מחולק ב־3. 3 נכנס ב־10 שלוש פעמים, והשארית היא 1. לכן, result יהיה 1.
בדרך כלל משתמשים בפעולת מודולו כדי לבדוק אם מספר הוא זוגי או אי־זוגי:
- אם מספר זוגי, חלוקתו ב־2 תשאיר שארית של 0.
- אם מספר אי־זוגי, חלוקתו ב־2 תשאיר שארית של 1.
כשעובדים עם מספרים בנקודה צפה (double) ב-C++, אי אפשר להשתמש ישירות באופרטור המודולו %. במקום זאת, צריך להשתמש בפונקציה fmod() מהספרייה <cmath>. היא פועלת באופן דומה לאופרטור המודולו, אך שומרת על הדיוק העשרוני. לדוגמה:
#include <cmath>
double result = fmod(5.2, 2.0);
// הערך של result הוא 1.2כך זה עובד: 2.0 נכנס ב־5.2 פעמיים (4.0), והשארית היא 1.2 (5.2 - 4.0 = 1.2).
דוגמה נוספת:
double result = fmod(7.8, 3.5);
// result הוא 0.8כאשר המחלק גדול מהמחולק, התוצאה שווה למחולק. הדבר נכון גם עבור % וגם עבור fmod().
5 % 10 = 5
3 % 7 = 3
fmod(2.5, 8.0) = 2.5למה? המחלק נכנס אפס פעמים, ולכן המחולק כולו הוא השארית.
אתגר
מתחיליםכתבו קוד שמאתחל שלושה משתנים, a (int), b (double) ו־c (int) בערכים 9, 2.6 ו־11 (בהתאמה).
לאחר מכן, אתחלו את המשתנים הבאים:
d (int)שיכיל את תוצאת חישוב השארית שלaבחלוקה ל־2e (int)שיכיל את תוצאת חישוב השארית שלaבחלוקה ל־3f (double)שיכיל את תוצאת חישוב השארית שלbבחלוקה ל־1.5g (double)שיכיל את תוצאת חישוב השארית שלbבחלוקה ל־3.9h (int)שיכיל את תוצאת חישוב השארית שלcבחלוקה ל־10
בדקו את התוצאה וראו כיצד מחולקים ומחלקים שונים משפיעים על התוצאה.
נסו בעצמכם
#include <iostream>
#include <cmath>
int main() {
// הקלידו את הקוד שלכם למטה
// אל תשנו את השורה שלמטה
std::cout << "a = " << a << std::endl;
std::cout << "b = " << b << std::endl;
std::cout << "c = " << c << std::endl;
std::cout << "d = " << d << std::endl;
std::cout << "e = " << e << std::endl;
std::cout << "f = " << f << std::endl;
std::cout << "g = " << g << std::endl;
std::cout << "h = " << h << std::endl;
return 0;
}השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה יסודות
4אופרטורים חלק 1
אופרטורים אריתמטייםאופרטור מודולוהגדלה/הקטנההגדלה/הקטנה לאחר הפעולהקיצורים אריתמטייםאופרטורי השוואההשוואת מחרוזותתרגלו בעצמכם: קומפיילר C++ אונליין