Menu
Coddy logo textTech

מתודות של מערכים

חלק מהיחידה יסודות במסלול ה-Ruby של Coddy. שיעור 61 מתוך 88.

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

המתודה sort מסדרת איברים בסדר עולה:

numbers = [3, 1, 4, 1, 5]
puts numbers.sort  # פלט: 1, 1, 3, 4, 5

כדי להפוך את סדר האיברים, השתמשו במתודה reverse:

letters = ["a", "b", "c"]
puts letters.reverse  # פלט: c, b, a

אפשר לשלב את השיטות האלה כדי למיין בסדר יורד:

scores = [85, 92, 78, 95]
puts scores.sort.reverse  # פלט: 95, 92, 85, 78

המתודות min ו־max מוצאות במהירות את הערכים הקטנים והגדולים ביותר:

prices = [29, 15, 42, 8]
puts prices.min  # פלט: 8
puts prices.max  # פלט: 42

כדי לחשב את הסכום של איברים מספריים, השתמשו ב־sum:

quantities = [2, 5, 3]
puts quantities.sum  # פלט: 10

שימו לב ש-sort ו-reverse מחזירות מערכים חדשים בלי לשנות את המקורי. כדי לשנות את המערך המקורי ישירות, הוסיפו ! לשם המתודה, כמו sort! או reverse!.

challenge icon

אתגר

קל

קרא שורת קלט אחת המכילה מספרים שלמים המופרדים בפסיקים (למשל, 5,2,8,1,9,3).

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

  1. המערך ממוין בסדר עולה (כל איבר בשורה משלו)
  2. המערך ממוין בסדר יורד (כל איבר בשורה משלו)
  3. הערך המינימלי
  4. הערך המקסימלי
  5. סכום כל האיברים

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

לדוגמה, אם הקלט הוא 5,2,8,1,9,3, הפלט צריך להיות:

1
2
3
5
8
9

9
8
5
3
2
1

1
9
28

אם הקלט הוא 10,30,20, הפלט צריך להיות:

10
20
30

30
20
10

10
30
60

אם הקלט הוא 7,3,5,1, הפלט צריך להיות:

1
3
5
7

7
5
3
1

1
7
16

נסו בעצמכם

# קראו את המספרים השלמים המופרדים בפסיקים
input = gets.chomp

# TODO: כתבו את הקוד שלכם למטה
# 1. פצלו את input למערך של מספרים שלמים
# 2. מיינו את המערך בסדר עולה והדפיסו כל איבר
# 3. הדפיסו שורה ריקה
# 4. מיינו את המערך בסדר יורד והדפיסו כל איבר
# 5. הדפיסו שורה ריקה
# 6. הדפיסו את הערך המינימלי
# 7. הדפיסו את הערך המקסימלי
# 8. הדפיסו את סכום כל האיברים
quiz iconבחנו את עצמכם

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

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

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