Menu
Coddy logo textTech

Récapitulatif - Feu de signalisation

Fait partie de la section Logique & Flux du Journey Dart de Coddy. Leçon 62 sur 65.

challenge icon

Défi

Facile

Créez un système complet de gestion des feux de circulation qui démontre votre maîtrise des énumérations et des instructions switch. Votre tâche consiste à concevoir un système capable de gérer plusieurs feux de circulation et de fournir les actions appropriées aux conducteurs.

  1. Définissez une énumération appelée TrafficLight avec trois valeurs : red, yellow et green
  2. Créez une fonction appelée getDriverAction qui prend un paramètre TrafficLight et renvoie la chaîne d’action appropriée à l’aide d’une instruction switch :
    • Pour TrafficLight.red : renvoyer "Stop"
    • Pour TrafficLight.yellow : renvoyer "Caution"
    • Pour TrafficLight.green : renvoyer "Go"
  3. Créez une fonction appelée getWaitTime qui prend un paramètre TrafficLight et renvoie le temps d’attente en secondes à l’aide d’une instruction switch :
    • Pour TrafficLight.red : renvoyer 30
    • Pour TrafficLight.yellow : renvoyer 3
    • Pour TrafficLight.green : renvoyer 25
  4. Créez trois variables pour représenter différents carrefours :
    • intersection1 de type TrafficLight définie sur TrafficLight.red
    • intersection2 de type TrafficLight définie sur TrafficLight.yellow
    • intersection3 de type TrafficLight définie sur TrafficLight.green
  5. Pour chaque carrefour, affichez l’état dans ce format exact :
    • 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. Simulez un changement de séquence d’un feu de circulation en mettant à jour intersection1 vers TrafficLight.green
  7. Affichez l’état mis à jour : Updated Intersection 1: Green light - Go - Wait time: 25 seconds
  8. Créez un résumé en affichant : Traffic system managing 3 intersections successfully

Votre programme doit démontrer la puissance de la combinaison des énumérations et des instructions switch pour créer un système de gestion du trafic sûr du point de vue des types et lisible. Les instructions switch doivent gérer toutes les valeurs de l’énumération et renvoyer exactement les chaînes et les nombres spécifiés ci-dessus.

Essayez vous-même

import 'dart:io';

// TODO: Définissez votre enum TrafficLight ici

// TODO: Créez votre fonction getDriverAction ici

// TODO: Créez votre fonction getWaitTime ici

void main() {
  // TODO: Écrivez votre code ci-dessous
  
  // Créer les variables d'intersection
  
  // Afficher le statut de chaque intersection
  
  // Mettre à jour intersection1 et afficher le statut mis à jour
  
  // Afficher le résumé
}

Toutes les leçons de Logique & Flux

Entraînez-vous par vous-même : Compilateur Dart en ligne