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 yetkinliğinizi 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 eylemler sağlayabilen bir sistem oluşturmaktır.

  1. TrafficLight adında, üç değere sahip bir enum tanımlayın: red, yellow ve green
  2. Bir getDriverAction parametresi alan ve bir switch ifadesi kullanarak uygun eylem dizesini döndüren TrafficLight adında bir işlev 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 getWaitTime parametresi alan ve bir switch ifadesi kullanarak saniye cinsinden bekleme süresini döndüren TrafficLight adında bir işlev 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 üzere üç değişken oluşturun:
    • intersection1 türü TrafficLight olacak şekilde TrafficLight.red değerine ayarlayın
    • intersection2 türü TrafficLight olacak şekilde TrafficLight.yellow değerine ayarlayın
    • intersection3 türü TrafficLight olacak şekilde TrafficLight.green değerine ayarlayın
  5. Her kavşak için durumu şu tam biçimde 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ğerini TrafficLight.green olarak güncelleyerek bir trafik ışığı sırası değişikliğini simüle edin
  7. Güncellenen 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, tür 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 ele almalı 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

Kendi başına pratik yap: Online Dart derleyicisi