Menu
Coddy logo textTech

Özet - Trafik Lambası

Coddy'nin Dart Journey'sinin Mantık & Akış bölümünün bir parçası — ders 62 / 65.

challenge icon

Görev

Kolay

Enum'lar ve switch ifadeleri konusundaki uzmanlığınızı gösteren kapsamlı bir trafik ışığı yönetim sistemi oluşturun. Göreviniz, birden fazla trafik ışığını yönetebilen ve sürücüler için uygun eylemleri sağlayan bir sistem oluşturmaktır.

  1. Üç değere sahip TrafficLight adında bir enum tanımlayın: red, yellow ve green
  2. Bir TrafficLight parametresi alan ve bir switch ifadesi kullanarak uygun eylem dizesini döndüren getDriverAction adında bir fonksiyon oluşturun:
    • TrafficLight.red için: "Stop" döndürün
    • TrafficLight.yellow için: "Caution" döndürün
    • TrafficLight.green için: "Go" döndürün
  3. Bir TrafficLight parametresi alan ve bir switch ifadesi kullanarak saniye cinsinden bekleme süresini döndüren getWaitTime adında bir fonksiyon oluşturun:
    • TrafficLight.red için: 30 döndürün
    • TrafficLight.yellow için: 3 döndürün
    • TrafficLight.green için: 25 döndürün
  4. Farklı kavşakları temsil etmek için üç değişken oluşturun:
    • TrafficLight.red olarak ayarlanmış TrafficLight tipinde intersection1
    • TrafficLight.yellow olarak ayarlanmış TrafficLight tipinde intersection2
    • TrafficLight.green olarak ayarlanmış TrafficLight tipinde intersection3
  5. Her kavşak için durumu tam olarak şu formatta yazdırın:
    • 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 değişkenini TrafficLight.green olarak güncelleyerek bir trafik ışığı dizisi değişikliğini simüle edin
  7. Güncellenmiş durumu yazdırın: Updated Intersection 1: Green light - Go - Wait time: 25 seconds
  8. Şunu yazdırarak bir özet oluşturun: Traffic system managing 3 intersections successfully

Programınız, tip güvenli ve okunabilir bir trafik yönetim sistemi oluşturmak için enum'ları switch ifadeleriyle birleştirmenin gücünü göstermelidir. Switch ifadeleri tüm enum değerlerini işlemeli ve yukarıda belirtilen tam dizeleri ve sayıları döndürmelidir.

Kendin dene

import 'dart:io';

// YAPILACAK: TrafficLight enum'ınızı burada tanımlayın

// YAPILACAK: getDriverAction fonksiyonunuzu burada oluşturun

// YAPILACAK: getWaitTime fonksiyonunuzu burada oluşturun

void main() {
  // YAPILACAK: Kodunuzu aşağıya yazın
  
  // Kavşak değişkenlerini oluşturun
  
  // Her bir kavşak için durumu yazdırın
  
  // intersection1'i güncelleyin ve güncellenmiş durumu yazdırın
  
  // Özeti yazdırın
}

Mantık & Akış bölümündeki tüm dersler