Menu
Coddy logo textTech

Zusammenfassung – Ampel

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

challenge icon

Aufgabe

Einfach

Erstellen Sie ein umfassendes Ampelverwaltungssystem, das Ihre Beherrschung von Enums und Switch-Anweisungen demonstriert. Ihre Aufgabe ist es, ein System zu entwickeln, das mehrere Ampeln verwalten kann und entsprechende Aktionen für Fahrer bereitstellt.

  1. Definieren Sie ein Enum namens TrafficLight mit drei Werten: red, yellow und green
  2. Erstellen Sie eine Funktion namens getDriverAction, die einen TrafficLight-Parameter entgegennimmt und die entsprechende Aktions-Zeichenfolge mithilfe einer Switch-Anweisung zurückgibt:
    • Für TrafficLight.red: geben Sie "Stop" zurück
    • Für TrafficLight.yellow: geben Sie "Caution" zurück
    • Für TrafficLight.green: geben Sie "Go" zurück
  3. Erstellen Sie eine Funktion namens getWaitTime, die einen TrafficLight-Parameter entgegennimmt und die Wartezeit in Sekunden mithilfe einer Switch-Anweisung zurückgibt:
    • Für TrafficLight.red: geben Sie 30 zurück
    • Für TrafficLight.yellow: geben Sie 3 zurück
    • Für TrafficLight.green: geben Sie 25 zurück
  4. Erstellen Sie drei Variablen, um verschiedene Kreuzungen darzustellen:
    • 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. Drucken Sie für jede Kreuzung den Status in genau diesem 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. Simulieren Sie eine Änderung der Ampelsequenz, indem Sie intersection1 auf TrafficLight.green aktualisieren
  7. Drucken Sie den aktualisierten Status aus: Updated Intersection 1: Green light - Go - Wait time: 25 seconds
  8. Erstellen Sie eine Zusammenfassung, indem Sie Folgendes drucken: Traffic system managing 3 intersections successfully

Ihr Programm sollte die Leistungsfähigkeit der Kombination von Enums mit Switch-Anweisungen demonstrieren, um ein typsicheres, lesbares Verkehrsverwaltungssystem zu erstellen. Die Switch-Anweisungen müssen alle Enum-Werte verarbeiten und genau die oben angegebenen 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