Menu
Coddy logo textTech

אופרטורים של רצפים

חלק מהיחידה יסודות במסלול ה-Swift של Coddy. שיעור 75 מתוך 86.

Swift מספקת מאפיינים ומתודות שימושיים מובנים, שמאפשרים לך לאסוף במהירות מידע על מערכים בלי לכתוב לולאות. אופרטורי הרצפים האלה עוזרים לך לבצע חישובים נפוצים עם מעט קוד.

התכונה count מחזירה את מספר האיברים במערך:

let scores = [85, 92, 78, 90]
print(scores.count)  // 4

עבור מערכים מספריים, Swift מציעה שיטות למציאת הערכים הקטנים והגדולים ביותר. השיטות min() ו־max() מחזירות ערכים אופציונליים, מכיוון שלמערך ריק אין ערך מינימלי או מקסימלי:

let temperatures = [72, 68, 75, 80, 65]

if let lowest = temperatures.min() {
    print(lowest)  // 65
}

if let highest = temperatures.max() {
    print(highest)  // 80
}

כדי לחשב את הסכום הכולל של כל האיברים, השתמשו בשיטת reduce. היא משלבת את כל הערכים, החל מערך התחלתי:

let prices = [10, 20, 30]
let total = prices.reduce(0, +)
print(total)  // 60

ה־0 הוא ערך ההתחלה, ו־+ מורה ל־Swift להוסיף כל איבר לסכום המצטבר. בעזרת שילוב האופרטורים האלה, אפשר לחשב ממוצע בקלות:

let grades = [85, 90, 78, 92]
let average = grades.reduce(0, +) / grades.count
print(average)  // 86
challenge icon

אתגר

קל
כתוב פונקציה analyzeScores שמקבלת את scores ומחזירה מחרוזת סיכום עם נתונים סטטיסטיים על המערך.

השתמש באופרטורים של רצף כדי לחשב את מספר הציונים, את הערך המינימלי, את הערך המקסימלי ואת הממוצע שלהם, ואז עצב אותם כמחרוזת סיכום אחת.

לוגיקה:

  1. קבל את המספר הכולל של האיברים באמצעות count
  2. מצא את הערך המינימלי באמצעות min()
  3. מצא את הערך המקסימלי באמצעות max()
  4. חשב את הסכום באמצעות reduce(0, +) וחלק אותו במספר האיברים כדי לקבל את הממוצע
  5. החזר מחרוזת מעוצבת עם כל הנתונים הסטטיסטיים

פרמטרים:

  • scores ([Int]): מערך של ציונים שלמים (מובטח שיש בו איבר אחד לפחות)

ערך מוחזר: מחרוזת מעוצבת המכילה את הנתונים הסטטיסטיים (String). פורמט: "Count: X, Min: X, Max: X, Avg: X"

דוגמה: אם scores הוא [85, 90, 78, 92], הפונקציה אמורה להחזיר "Count: 4, Min: 78, Max: 92, Avg: 86".

הערה: יש לחשב את הממוצע באמצעות חילוק של מספרים שלמים (ללא ספרות עשרוניות).

נסו בעצמכם

func analyzeScores(scores: [Int]) -> String {
    // כתבו כאן קוד
}
quiz iconבחנו את עצמכם

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

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

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