Rangkuman: Pemroses list
Termasuk bagian Logika dan Alur dalam perjalanan Dart di Coddy. Pelajaran 50 dari 65.
Tantangan
MudahBuat sistem pemrosesan data yang fleksibel untuk menunjukkan fungsi tingkat tinggi dengan membangun pemroses list yang dapat disesuaikan. Programmu akan membuat beberapa fungsi pemrosesan dan menggunakan fungsi pemroses utama yang dapat menerapkan operasi apa pun pada list data.
- Baca input string yang berisi angka-angka yang dipisahkan koma (misalnya,
"10,20,30,40") - Baca input string yang menunjukkan jenis operasi pertama (
"multiply","add", atau"subtract") - Baca input string yang menunjukkan nilai yang akan digunakan untuk operasi pertama (misalnya,
"3") - Baca input string yang menunjukkan jenis operasi kedua (
"multiply","add", atau"subtract") - Baca input string yang menunjukkan nilai yang akan digunakan untuk operasi kedua (misalnya,
"5") - Pisahkan input pertama menjadi angka-angka terpisah, lalu ubah setiap angka menjadi integer
- Buat tiga fungsi operasi:
multiplyBy- menerima dua integer dan mengembalikan hasil perkalian integer pertama dengan integer keduaaddTo- menerima dua integer dan mengembalikan hasil penjumlahan integer pertama dengan integer keduasubtractFrom- menerima dua integer dan mengembalikan hasil pengurangan integer kedua dari integer pertama- Buat fungsi utama bernama
processListWithOperationyang menerima tiga parameter: - List integer
- Fungsi yang menerima dua integer dan mengembalikan integer
- Nilai integer yang akan digunakan untuk operasi
- Fungsi
processListWithOperationharus menerapkan fungsi yang diberikan pada setiap angka dalam list menggunakan nilai yang diberikan, lalu mengembalikan list baru yang berisi hasilnya - Terapkan operasi pertama pada list asli, lalu terapkan operasi kedua pada hasil operasi pertama
- Tampilkan hasil dalam format persis seperti yang ditunjukkan di bawah ini
Misalnya, jika inputnya adalah "2,4,6", "multiply", "3", "add", dan "10", programmu harus menghasilkan:
Advanced List Processor
=======================
Original list: [2, 4, 6]
First operation: multiply by 3
After first operation: [6, 12, 18]
Second operation: add 10
Final result: [16, 22, 28]
Processing completed successfullyJika inputnya adalah "15,25,35", "subtract", "5", "multiply", dan "2", programmu harus menghasilkan:
Advanced List Processor
=======================
Original list: [15, 25, 35]
First operation: subtract 5
After first operation: [10, 20, 30]
Second operation: multiply by 2
Final result: [20, 40, 60]
Processing completed successfullyProgrammu harus menunjukkan fungsi tingkat tinggi dengan meneruskan fungsi operasi yang sesuai ke processListWithOperation berdasarkan input jenis operasi. Gunakan pernyataan percabangan untuk menentukan fungsi yang akan diteruskan untuk setiap operasi. Fungsi processListWithOperation harus melakukan iterasi pada input list, menerapkan fungsi yang diberikan dengan nilai yang disediakan pada setiap elemen, lalu mengumpulkan hasilnya dalam list baru. Terapkan operasi secara berurutan, dengan menggunakan hasil operasi pertama sebagai input untuk operasi kedua.
Coba sendiri
import 'dart:io';
void main() {
// Baca input
String? numbersInput = stdin.readLineSync();
String? firstOperation = stdin.readLineSync();
String? firstValue = stdin.readLineSync();
String? secondOperation = stdin.readLineSync();
String? secondValue = stdin.readLineSync();
// Ubah input string menjadi list bilangan bulat
List<int> originalList = numbersInput!.split(',').map((e) => int.parse(e.trim())).toList();
int firstOpValue = int.parse(firstValue!);
int secondOpValue = int.parse(secondValue!);
// TODO: Tulis kodemu di bawah ini
// Buat tiga fungsi operasi: multiplyBy, addTo, subtractFrom
// Buat fungsi processListWithOperation
// Terapkan operasi secara berurutan dan simpan hasilnya
// Tampilkan hasil dalam format yang diminta
print('Advanced List Processor');
print('=======================');
print('Original list: $originalList');
// Tampilkan operasi pertama dan hasilnya
// Tampilkan operasi kedua dan hasil akhirnya
print('Processing completed successfully');
}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 Inventaris7Fungsi Lanjutan
Fungsi AnonimMeneruskan Fungsi sebagai ArgumenMemahami ClosurePengantar RekursiFungsi Rekursif: Hitung MundurFungsi Rekursif: FaktorialRangkuman: Pemroses list2Operasi 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