Menu
Coddy logo textTech

Zusammenfassung – Ampel

Teil des Abschnitts Logik & Ablauf der Dart-Journey von Coddy. Lektion 62 von 65.

challenge icon

Aufgabe

Einfach

Erstelle ein umfassendes Verkehrsampel-Managementsystem, das deine Beherrschung von Enums und switch-Anweisungen demonstriert. Deine Aufgabe besteht darin, ein System zu entwickeln, das mehrere Ampeln verwalten und Fahrern geeignete Aktionen bereitstellen kann.

  1. Definiere ein Enum namens TrafficLight mit drei Werten: red, yellow und green
  2. Erstelle eine Funktion namens getDriverAction, die einen TrafficLight-Parameter übernimmt und mithilfe einer switch-Anweisung die entsprechende Aktionszeichenfolge zurückgibt:
    • Für TrafficLight.red: gib "Stop" zurück
    • Für TrafficLight.yellow: gib "Caution" zurück
    • Für TrafficLight.green: gib "Go" zurück
  3. Erstelle eine Funktion namens getWaitTime, die einen TrafficLight-Parameter übernimmt und mithilfe einer switch-Anweisung die Wartezeit in Sekunden zurückgibt:
    • Für TrafficLight.red: gib 30 zurück
    • Für TrafficLight.yellow: gib 3 zurück
    • Für TrafficLight.green: gib 25 zurück
  4. Erstelle drei Variablen, die verschiedene Kreuzungen darstellen:
    • intersection1 vom Typ TrafficLight, gesetzt auf TrafficLight.red
    • intersection2 vom Typ TrafficLight, gesetzt auf TrafficLight.yellow
    • intersection3 vom Typ TrafficLight, gesetzt auf TrafficLight.green
  5. Gib für jede Kreuzung den Status in diesem exakten Format aus:
    • 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. Simuliere eine Änderung der Ampelsequenz, indem du intersection1 auf TrafficLight.green aktualisierst
  7. Gib den aktualisierten Status aus: Updated Intersection 1: Green light - Go - Wait time: 25 seconds
  8. Erstelle eine Zusammenfassung durch die Ausgabe von: Traffic system managing 3 intersections successfully

Dein Programm sollte die Leistungsfähigkeit der Kombination von Enums und switch-Anweisungen demonstrieren, um ein typsicheres und übersichtliches Verkehrsmanagementsystem zu erstellen. Die switch-Anweisungen müssen alle Enum-Werte behandeln und die oben angegebenen exakten Zeichenfolgen und Zahlen zurückgeben.

Probier es selbst

import 'dart:io';

// TODO: Definiere hier dein TrafficLight-Enum

// TODO: Erstelle hier deine getDriverAction-Funktion

// TODO: Erstelle hier deine getWaitTime-Funktion

void main() {
  // TODO: Schreibe deinen Code unten
  
  // Erstelle Kreuzungsvariablen
  
  // Status für jede Kreuzung ausgeben
  
  // Kreuzung1 aktualisieren und aktualisierten Status ausgeben
  
  // Zusammenfassung ausgeben
}

Alle Lektionen in Logik & Ablauf

Übe selbstständig: Online-Dart-Compiler