Rekap: Pengatur list
Termasuk bagian Logika dan Alur dalam perjalanan Dart di Coddy. Pelajaran 9 dari 65.
Tantangan
MudahBuat program yang mengelola pipeline pemrosesan data dengan melakukan beberapa operasi secara berurutan pada list angka. Programmu harus:
- Membaca input string yang mewakili nama dataset
- Membaca beberapa input integer yang mewakili nilai data asli (input akan berakhir saat kamu menerima
-999) - Menyisipkan nilai
100di awal list (posisi 0) - Menghapus semua angka negatif dari list menggunakan
removeWhere() - Mengurutkan angka yang tersisa dalam urutan menaik menggunakan
sort() - Memeriksa apakah list akhir kosong menggunakan
isEmpty - Mencetak hasil pemrosesan data dengan format persis seperti yang ditunjukkan di bawah
Misalnya, jika nama dataset adalah "Sales Data" dan nilainya adalah 45, -12, 78, -5, 23, programmu harus menghasilkan output:
Dataset: Sales Data
Original data: [45, -12, 78, -5, 23]
Step 1: Inserted 100 at beginning
After insertion: [100, 45, -12, 78, -5, 23]
Step 2: Removed negative numbers
After removal: [100, 45, 78, 23]
Step 3: Sorted in ascending order
After sorting: [23, 45, 78, 100]
Final result: List is not empty
Processing complete: 4 values remainingJika nama dataset adalah "Temperature Readings" dan nilainya adalah -10, -5, -20, programmu harus menghasilkan output:
Dataset: Temperature Readings
Original data: [-10, -5, -20]
Step 1: Inserted 100 at beginning
After insertion: [100, -10, -5, -20]
Step 2: Removed negative numbers
After removal: [100]
Step 3: Sorted in ascending order
After sorting: [100]
Final result: List is not empty
Processing complete: 1 values remainingJika nama dataset adalah "Error Values" dan satu-satunya nilainya adalah -50, programmu harus menghasilkan output:
Dataset: Error Values
Original data: [-50]
Step 1: Inserted 100 at beginning
After insertion: [100, -50]
Step 2: Removed negative numbers
After removal: [100]
Step 3: Sorted in ascending order
After sorting: [100]
Final result: List is not empty
Processing complete: 1 values remainingProgrammu harus melakukan semua operasi dalam urutan persis seperti yang ditentukan: pertama insert() nilai 100 di posisi 0, lalu gunakan removeWhere() untuk menghapus angka negatif, kemudian sort() list, dan terakhir periksa apakah list isEmpty. Tampilkan "List is empty" jika list akhir tidak memiliki elemen, atau "List is not empty" jika list berisi elemen.
Coba sendiri
import 'dart:io';
void main() {
// Baca nama dataset
String? datasetName = stdin.readLineSync();
// Baca angka hingga menemukan -999
List<int> originalData = [];
while (true) {
int? number = int.parse(stdin.readLineSync()!);
if (number == -999) {
break;
}
originalData.add(number);
}
// Tampilkan informasi awal
print('Dataset: $datasetName');
print('Original data: $originalData');
// TODO: Tulis kodemu di bawah ini
// 1. Sisipkan 100 di awal (posisi 0)
// 2. Hapus semua angka negatif menggunakan removeWhere()
// 3. Urutkan list secara menaik menggunakan sort()
// 4. Periksa apakah list kosong menggunakan isEmpty
// 5. Tampilkan hasil dalam format yang diminta
}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 unikLatihan sendiri: Compiler Dart online