סיכום – מסווג ציונים
חלק מהיחידה לוגיקה וזרימת תוכנית במסלול ה-Ruby של Coddy. שיעור 42 מתוך 56.
שלבו case עם כמה ערכים, אופרטור תנאי ומתקנים בשורה אחת כדי לסווג ציוני מבחן בסקריפט קצר אחד.
אתגר
בינוניקרא רשימה של ציוני מספרים שלמים, מופרדים בפסיקים, מהקלט. עבור כל ציון, הדפס שורה אחת:
<score>: <letter> (<status>)כאשר letter נקבעת באמצעות case על הציון:
90..100→A80..89→B70..79→C60..69→D- כל ערך אחר →
F
ו-status משתמשת באופרטור תנאי משולש: passing כשהציון הוא 60 לפחות, ו-failing אחרת.
אחרי הלולאה, הדפס Top scorer: <score>: אבל רק אם הציון המרבי הוא 90 או יותר (השתמש ב-if בשורה אחת).
עבור הקלט 95,72,55,88, הפלט הוא:
95: A (passing)
72: C (passing)
55: F (failing)
88: B (passing)
Top scorer: 95נסו בעצמכם
scores = gets.chomp.split(",").map(&:to_i)
# TODO: עבור כל ציון הדפס "<n>: <letter> (<status>)"
# TODO: הדפס "Top scorer: <max>" רק אם max >= 90
כל השיעורים ביחידה לוגיקה וזרימת תוכנית
1מחרוזות לעומק
סקירה של מתודות למחרוזותאינטרפולציה של מחרוזותמעבר על מחרוזותפיצול וחיבורסיכום – שוזר המחרוזות4בלוקים, Procs ו־Lambdas
מהו בלוק?do..end לעומת סוגריים מסולסליםמילת המפתח yieldפרמטרים של בלוקProcs ו־Lambdasסיכום – איטרטור מותאם אישית7Hashes חלק 2
Hash.new עם ערכי ברירת מחדלמעבר על HashesHashes מקונניםמיזוג ושינויסיכום - מונה תדירויות10פרויקט - רשומות תלמידים
סקירת הפרויקטהוספת תלמיד5עוצמת Enumerable
Select ו־Rejectשרשור MapReduce / Injectcount, all?, any?, none?group_by ו־partitionsort_by, min_by, max_byסיכום - צינור נתונים8קבלת החלטות מתקדמת
case עם מחלקות ו־Regexwhen עם ערכים מרוביםהאופרטור הטרנריif / unless בשורה אחתסיכום – מסווג ציוניםתרגלו בעצמכם: קומפיילר Ruby אונליין