Menu
CoddyTech

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

חלק מהיחידה יסודות במסלול ה-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

# פצלו את הקלט בכל פסיק והמירו כל חלק למספר שלם
numbers = input.split(",").map(&:to_i)

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

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

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

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