Rangkuman, Lampu Lalu Lintas
Termasuk bagian Logika dan Alur dalam perjalanan Dart di Coddy. Pelajaran 62 dari 65.
Tantangan
MudahBuat sistem manajemen lampu lalu lintas yang lengkap untuk menunjukkan penguasaanmu terhadap enum dan pernyataan switch. Tugasmu adalah membangun sistem yang dapat menangani beberapa lampu lalu lintas dan memberikan tindakan yang sesuai bagi pengemudi.
- Definisikan enum bernama
TrafficLightdengan tiga nilai:red,yellow, dangreen - Buat fungsi bernama
getDriverActionyang menerima parameterTrafficLightdan mengembalikan string tindakan yang sesuai menggunakan pernyataan switch:- Untuk
TrafficLight.red: kembalikan"Stop" - Untuk
TrafficLight.yellow: kembalikan"Caution" - Untuk
TrafficLight.green: kembalikan"Go"
- Untuk
- Buat fungsi bernama
getWaitTimeyang menerima parameterTrafficLightdan mengembalikan waktu tunggu dalam detik menggunakan pernyataan switch:- Untuk
TrafficLight.red: kembalikan30 - Untuk
TrafficLight.yellow: kembalikan3 - Untuk
TrafficLight.green: kembalikan25
- Untuk
- Buat tiga variabel untuk mewakili persimpangan yang berbeda:
intersection1bertipeTrafficLightdan diatur keTrafficLight.redintersection2bertipeTrafficLightdan diatur keTrafficLight.yellowintersection3bertipeTrafficLightdan diatur keTrafficLight.green
- Untuk setiap persimpangan, cetak status dengan format persis berikut:
Intersection 1: Red light - Stop - Wait time: 30 secondsIntersection 2: Yellow light - Caution - Wait time: 3 secondsIntersection 3: Green light - Go - Wait time: 25 seconds
- Simulasikan perubahan urutan lampu lalu lintas dengan memperbarui
intersection1menjadiTrafficLight.green - Cetak status yang telah diperbarui:
Updated Intersection 1: Green light - Go - Wait time: 25 seconds - Buat ringkasan dengan mencetak:
Traffic system managing 3 intersections successfully
Programmu harus menunjukkan keunggulan menggabungkan enum dengan pernyataan switch untuk membuat sistem manajemen lalu lintas yang aman dari kesalahan tipe dan mudah dibaca. Pernyataan switch harus menangani semua nilai enum dan mengembalikan string serta angka yang ditentukan di atas secara persis.
Coba sendiri
import 'dart:io';
// TODO: Definisikan enum TrafficLight-mu di sini
// TODO: Buat fungsi getDriverAction-mu di sini
// TODO: Buat fungsi getWaitTime-mu di sini
void main() {
// TODO: Tulis kodemu di bawah ini
// Buat variabel untuk persimpangan
// Cetak status setiap persimpangan
// Perbarui intersection1 dan cetak status terbarunya
// Cetak ringkasan
}Semua pelajaran di Logika dan Alur
1Manipulasi list Tingkat Lanjut
Properti list: first dan lastStatus list: isEmpty dan isNotEmpMembalikkan listMenambahkan ke list: insertMenghapus dari list: removeWhereMencari dalam list: indexOfMengurutkan listMengacak listRekap: Pengatur list4Manipulasi Map Lanjutan
Melakukan perulangan pada MapMemeriksa kunci dan nilaiProperti Map: kunci dan nilaiPenambahan Bersyarat: putIfAbsentMenghapus Entri dari MapMap BersarangRingkasan: Pembaruan Inventaris2Operasi Fungsional pada list
Mengubah dengan 'map'Menyaring dengan 'where'Menggunakan '.toList()'Memeriksa Kondisi dengan 'any'Kondisi dengan 'every'Menemukan dengan 'firstWhere'Ulasan: Penyaringan Data5Proyek: Perhitungan Keranjang Belanja
Menyiapkan ProyekMenambahkan Barang ke Keranjang3set
Apa itu set?Membuat setMenambahkan dan menghapus elemen dari setMemeriksa elemen dalam setMengubah list menjadi setGabungan setIrisan setSelisih setRangkuman: Daftar tamu unik6Penanganan Error Dasar
Apa Itu Pengecualian?Blok 'try-catch'Menangkap Pengecualian dengan 'on'Blok 'finally'Melempar PengecualianRingkasan: Pembagian Aman9Enumerasi (Enum)
Apa itu Enum?Mendefinisikan Enum SederhanaMenggunakan Enum dalam VariabelEnum dalam Pernyataan 'switch'Rangkuman, Lampu Lalu LintasLatihan sendiri: Compiler Dart online