Menu
Coddy logo textTech

סיכום – רמזור

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

challenge icon

אתגר

קל

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

  1. הגדירו מנייה בשם TrafficLight עם שלושה ערכים: red, yellow ו־green
  2. צרו פונקציה בשם getDriverAction שמקבלת פרמטר מסוג TrafficLight ומחזירה את מחרוזת הפעולה המתאימה באמצעות משפט switch:
    • עבור TrafficLight.red: החזירו "Stop"
    • עבור TrafficLight.yellow: החזירו "Caution"
    • עבור TrafficLight.green: החזירו "Go"
  3. צרו פונקציה בשם getWaitTime שמקבלת פרמטר מסוג TrafficLight ומחזירה את זמן ההמתנה בשניות באמצעות משפט switch:
    • עבור TrafficLight.red: החזירו 30
    • עבור TrafficLight.yellow: החזירו 3
    • עבור TrafficLight.green: החזירו 25
  4. צרו שלושה משתנים לייצוג צמתים שונים:
    • intersection1 מסוג TrafficLight, שערכו נקבע ל־TrafficLight.red
    • intersection2 מסוג TrafficLight, שערכו נקבע ל־TrafficLight.yellow
    • intersection3 מסוג TrafficLight, שערכו נקבע ל־TrafficLight.green
  5. עבור כל צומת, הדפיסו את המצב בתבנית המדויקת הזאת:
    • Intersection 1: Red light - Stop - Wait time: 30 seconds
    • Intersection 2: Yellow light - Caution - Wait time: 3 seconds
    • Intersection 3: Green light - Go - Wait time: 25 seconds
  6. הדמו שינוי ברצף הרמזור על ידי עדכון intersection1 ל־TrafficLight.green
  7. הדפיסו את המצב המעודכן: Updated Intersection 1: Green light - Go - Wait time: 25 seconds
  8. צרו סיכום על ידי הדפסת: Traffic system managing 3 intersections successfully

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

נסו בעצמכם

import 'dart:io';

// TODO: הגדירו כאן את ה-enum TrafficLight

// TODO: צרו כאן את הפונקציה getDriverAction

// TODO: צרו כאן את הפונקציה getWaitTime

void main() {
  // TODO: כתבו את הקוד שלכם למטה
  
  // צרו משתנים עבור הצמתים
  
  // הדפיסו את המצב של כל צומת
  
  // עדכנו את intersection1 והדפיסו את המצב המעודכן
  
  // הדפיסו סיכום
}

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

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