Menu
Coddy logo textTech

סיכום - מערכת השמש

חלק מהיחידה לוגיקה וזרימת התוכנית במסלול ה-JavaScript של Coddy. שיעור 27 מתוך 65.

challenge icon

אתגר

קל

צרו פונקציה בשם analyzeSolarSystem שמקבלת ארגומנט אחד, מחרוזת JSON בשם solarSystemData. מחרוזת ה-JSON מכילה מידע על כוכבי הלכת במערכת השמש שלנו. לכל כוכב לכת יש את המאפיינים הבאים:

  • name (מחרוזת)
  • type (מחרוזת: "rocky" או "gas")
  • numberOfMoons (מספר)
  • discoveredIn (מספר, שנה)
  • surfaceTemperature (אובייקט עם ערכי מינימום ומקסימום במעלות צלזיוס)
  • hasRings (בוליאני)

המשימה שלכם:

  1. נתחו את מחרוזת ה-JSON לאובייקט.
  2. עבור כל כוכב לכת:
    1. הוסיפו מאפיין classification בהתאם לכללים הבאים:
      1. אם זהו כוכב לכת סלעי ו-surfaceTemperature.max < 50°C: Potentially Habitable
      2. אם זהו כוכב לכת סלעי ו-surfaceTemperature.max >= 50°C: Extreme Environment
      3. אם זהו כוכב לכת גזי ו-numberOfMoons > 10: Complex System
      4. אם זהו כוכב לכת גזי ו-numberOfMoons <= 10: Simple Gas Giant
    2. הוסיפו מאפיין ageOfDiscovery שמחשב לפני כמה שנים התגלה כוכב הלכת (משנת 2010)
    3. אם לכוכב הלכת יש טבעות ויותר מ-5 ירחים, הוסיפו מאפיין specialFeature עם הערך Ring System with Rich Moon Population
  3. החזירו את האובייקט ששונה כמחרוזת JSON.

קלט לדוגמה: 

{
  "planets": [
    {
      "name": "Mars",
      "type": "rocky",
      "numberOfMoons": 2,
      "discoveredIn": -3000,
      "surfaceTemperature": {
        "min": -140,
        "max": 20
      },
      "hasRings": false
    },
    {
      "name": "Saturn",
      "type": "gas",
      "numberOfMoons": 82,
      "discoveredIn": -3000,
      "surfaceTemperature": {
        "min": -178,
        "max": -138
      },
      "hasRings": true
    }
  ]
}

נסו בעצמכם

function analyzeSolarSystem(solarSystemData) {
    // כתבו כאן את הקוד
}
// אל תכתבו דבר מחוץ לפונקציה

כל השיעורים ביחידה לוגיקה וזרימת התוכנית

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