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 mendemonstrasikan fungsi orde tinggi dengan membangun pemroses list yang dapat disesuaikan. Programmu akan membuat berbagai 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 untuk digunakan dengan operasi pertama (misalnya,
"3") - Baca input string yang menunjukkan jenis operasi kedua (
"multiply","add", atau"subtract") - Baca input string yang menunjukkan nilai untuk digunakan dengan operasi kedua (misalnya,
"5") - Pisahkan input pertama menjadi angka-angka terpisah dan ubah setiap angka menjadi bilangan bulat
- Buat tiga fungsi operasi:
multiplyBy- menerima dua bilangan bulat dan mengembalikan hasil perkalian bilangan pertama dengan bilangan keduaaddTo- menerima dua bilangan bulat dan mengembalikan hasil penjumlahan bilangan pertama dan bilangan keduasubtractFrom- menerima dua bilangan bulat dan mengembalikan hasil pengurangan bilangan pertama dengan bilangan kedua- Buat fungsi utama bernama
processListWithOperationyang menerima tiga parameter: - List bilangan bulat
- Fungsi yang menerima dua bilangan bulat dan mengembalikan bilangan bulat
- Nilai bilangan bulat untuk digunakan dalam operasi
- Fungsi
processListWithOperationharus menerapkan fungsi yang diberikan pada setiap angka dalam list dengan 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
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 mendemonstrasikan fungsi orde 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 list input, menerapkan fungsi yang diberikan dengan nilai yang ditentukan 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');
// Cetak operasi pertama dan hasilnya
// Cetak 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