אופרטור מודולו
חלק מהיחידה יסודות במסלול ה-Dart של Coddy. שיעור 18 מתוך 94.
אופרטור השארית (%) נותן לנו את השארית לאחר חלוקה. בואו נבדוק איך הוא עובד בעזרת כמה דוגמאות פשוטות.
פעולת מודולו בסיסית
void main() {
int dividend = 10;
int divisor = 3;
int remainder = dividend % divisor;
print('Remainder of $dividend ÷ $divisor = $remainder');
}פלט: Remainder of 10 ÷ 3 = 1
כשמחלקים 10 ב-3, מקבלים 3 עם שארית של 1. אופרטור המודולו % מחזיר את ערך השארית.
בדיקה אם מספרים הם זוגיים או אי־זוגיים
אפשר לקבוע אם מספר הוא זוגי או אי־זוגי באמצעות אופרטור המודולו:
void main() {
int number = 15;
int remainder = number % 2;
print('$number % 2 = $remainder');
// למספרים זוגיים יש שארית 0 כאשר מחלקים אותם ב-2
bool isEven = remainder == 0;
// שימוש בהערכה בוליאנית ישירה במקום if/else
String result = isEven ? '$number is even' : '$number is odd';
print(result);
}פלט:
15 % 2 = 1
15 is oddאתגר
קלצרו תוכנית שמשתמשת באופרטור מודולו (%) כדי לפתור את הבעיות הבאות:
- הכריזו על משתנה מספר שלם
totalMinutesעם הערך 197 - חשבו ושמרו את מספר השעות השלמות ב-
totalMinutesבאמצעות חילוק שלם - חשבו ושמרו את מספר הדקות שנותרו באמצעות אופרטור מודולו
- הדפיסו את הזמן בשעות ובדקות בפורמט הבא בדיוק:
197 minutes is 3 hours and 17 minutes.לאחר מכן:
- הכריזו על משתנה מספר שלם
coinsעם הערך 57 - חשבו ושמרו כמה מטבעות של 25 ניתן ליצור מתוך
coins - חשבו ושמרו את המטבעות שנותרו באמצעות אופרטור מודולו
- הדפיסו את התוצאה בפורמט הבא בדיוק:
57 coins can be divided into 2 quarters and 7 remaining coins.נסו בעצמכם
void main() {
// הצהירו כאן על המשתנים שלכם
// החליפו כל ערך מציין מקום בהמשך בערך המבוקש במשימה
int totalMinutes = 0;
// חשבו את מספר השעות ואת הדקות הנותרות
// השתמשו בחלוקה של מספרים שלמים לחישוב השעות ובאופרטור מודולו לחישוב הדקות
int hours = totalMinutes;
int remainingMinutes = totalMinutes;
// הדפיסו את תוצאת חישוב הזמן
print("$totalMinutes minutes is $hours hours and $remainingMinutes minutes.");
// חשבו את מספר מטבעות הרבע ואת מספר המטבעות הנותרים
int coins = 0;
int quarters = coins ~/ 1;
int remainingCoins = coins % 1;
// הדפיסו את תוצאת חישוב המטבעות
print("$coins coins can be divided into $quarters quarters and $remainingCoins remaining coins.");
}השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה יסודות
7עבודה עם מחרוזות
שרשור מחרוזותאינטרפולציה של מחרוזותמחרוזות מרובות שורותמאפייני מחרוזותשיטות בסיסיות למחרוזות10אוספים - יסודות המפות
מהן מפות?יצירת מפהגישה לערכים לפי מפתחזוגות מפתח-ערךקבלת גודל המפהקבלת המפתחותקבלת הערכיםבדיקה אם מפתח קיים2משתנים וטיפוסי נתונים בסיסיים
מהם משתנים?מחרוזותמספרים שלמים (int)מספרים מסוג double (double)ערכים בוליאניים (bool)הסקת טיפוס באמצעות 'var'משתנים סופייםמשתנים קבועיםמוסכמות למתן שמותבטיחות בסיסית מול nullסיכום – הכרזה על משתנים8זרימת בקרה – לולאות
לולאת 'for'לולאת 'while'לולאת 'do-while'שימוש ב-'break' בלולאותשימוש ב-'continue' בלולאותסיכום – חזרה על קוד3אופרטורים חלק 1
אופרטורים אריתמטייםחלוקת מספרים שלמיםאופרטור מודולוהגדלה והקטנהקיצורי השמהסיכום - חישובים פשוטים6זרימת בקרה - קבלת החלטות
הוראת 'if'הוראת 'else'הוראת 'else if'חזרה - החלטות פשוטותהוראות 'if' מקוננותהוראת 'switch'9אוספים - יסודות הרשימות
מהן רשימות?יצירת רשימהגישה לפי אינדקסקבלת אורך הרשימההוספת איבריםהסרת איבריםבדיקה אם הרשימה ריקהמעבר על רשימהתרגלו בעצמכם: קומפיילר Dart אונליין