Özet - Liste İşleyici
Coddy'nin Dart Journey'sinin Mantık & Akış bölümünün bir parçası. Ders 50 / 65.
Görev
KolayÖzelleştirilebilir bir liste işlemcisi oluşturarak üst düzey işlevleri gösteren esnek bir veri işleme sistemi oluşturun. Programınız farklı işleme işlevleri oluşturacak ve bir veri listesine herhangi bir işlemi uygulayabilen bir ana işlemci işlevi kullanacaktır.
- Virgüllerle ayrılmış sayıları içeren bir dize girdisi okuyun (ör.
"10,20,30,40") - İlk işlem türünü temsil eden bir dize girdisi okuyun (
"multiply","add"veya"subtract") - İlk işlemde kullanılacak değeri temsil eden bir dize girdisi okuyun (ör.
"3") - İkinci işlem türünü temsil eden bir dize girdisi okuyun (
"multiply","add"veya"subtract") - İkinci işlemde kullanılacak değeri temsil eden bir dize girdisi okuyun (ör.
"5") - İlk girdiyi ayrı sayılara bölün ve her birini bir tamsayıya dönüştürün
- Üç işlem işlevi oluşturun:
multiplyBy- iki tamsayı alır ve birinciyi ikinciyle çarparak döndürüraddTo- iki tamsayı alır ve birinciyle ikincinin toplamını döndürürsubtractFrom- iki tamsayı alır ve birinciden ikincinin çıkarılmasını döndürür- Üç parametre alan ve
processListWithOperationadlı bir ana işlev oluşturun: - Bir tamsayı listesi
- İki tamsayı alan ve bir tamsayı döndüren bir işlev
- İşlemde kullanılacak bir tamsayı değeri
processListWithOperationişlevi, verilen değeri kullanarak listedeki her sayıya verilen işlevi uygulamalı ve sonuçları içeren yeni bir liste döndürmelidir- İlk işlemi özgün listeye uygulayın, ardından ikinci işlemi ilk işlemin sonucuna uygulayın
- Sonuçları aşağıda gösterilen tam biçimde görüntüleyin
Örneğin girdiler "2,4,6", "multiply", "3", "add" ve "10" ise programınızın çıktısı şöyle olmalıdır:
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 successfullyGirdiler "15,25,35", "subtract", "5", "multiply" ve "2" ise programınızın çıktısı şöyle olmalıdır:
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 successfullyProgramınız, işlem türü girdilerine göre uygun işlem işlevini processListWithOperation işlevine geçirerek üst düzey işlevleri göstermelidir. Her işlem için hangi işlevin geçirileceğini belirlemek üzere koşullu ifadeler kullanın. processListWithOperation işlevi, girdi listesinde yineleme yapmalı, verilen değeri kullanarak verilen işlevi her öğeye uygulamalı ve sonuçları yeni bir listede toplamalıdır. İşlemleri sıralı olarak uygulayın; ilk işlemin sonucunu ikinci işlem için girdi olarak kullanın.
Kendin dene
import 'dart:io';
void main() {
// Girdileri oku
String? numbersInput = stdin.readLineSync();
String? firstOperation = stdin.readLineSync();
String? firstValue = stdin.readLineSync();
String? secondOperation = stdin.readLineSync();
String? secondValue = stdin.readLineSync();
// Dize girişini tam sayı listesine dönüştür
List<int> originalList = numbersInput!.split(',').map((e) => int.parse(e.trim())).toList();
int firstOpValue = int.parse(firstValue!);
int secondOpValue = int.parse(secondValue!);
// TODO: Kodunuzu aşağıya yazın
// Üç işlem fonksiyonunu oluşturun: multiplyBy, addTo, subtractFrom
// processListWithOperation fonksiyonunu oluşturun
// İşlemleri sırasıyla uygulayın ve sonuçları saklayın
// Sonuçları istenen formatta yazdırın
print('Advanced List Processor');
print('=======================');
print('Original list: $originalList');
// İlk işlemi ve sonucu yazdırın
// İkinci işlemi ve nihai sonucu yazdırın
print('Processing completed successfully');
}Mantık & Akış bölümündeki tüm dersler
1İleri Düzey Liste İşlemleri
Liste Özellikleri: first & lastListe Durumu: isEmpty & isNotEmptyBir Listeyi Tersine ÇevirmeListeye Ekleme: insertListeden Silme: removeWhereListede Bulma: indexOfBir Listeyi SıralamaBir Listeyi KarıştırmaÖzet - Liste Düzenleyici4İleri Seviye Map İşlemleri
Map Üzerinde GezinmeAnahtar ve Değer KontrolüMap Özellikleri: keys & valuesKoşullu Ekleme: putIfAbsentMap'ten Öge Kaldırmaİç İçe Map'lerÖzet - Envanter Güncelleme7İleri Seviye Fonksiyonlar
Anonim FonksiyonlarFonksiyonları Argüman Olarak AktarmaClosure'ları AnlamakÖzyinelemeye GirişÖzyinelemeli Fonksiyon: Geri SayımÖzyinelemeli Fonksiyon: FaktöriyelÖzet - Liste İşleyici10Son Meydan Okumalar
Meydan Okuma: Not SıralayıcıMeydan Okuma: Sesli Harf SayacıMeydan Okuma: FizzBuzz2Fonksiyonel Liste İşlemleri
'map' ile Dönüştürme'where' ile Filtreleme'.toList()' Kullanımı'any' ile Koşul Kontrolü'every' ile Koşullar'firstWhere' ile BulmaÖzet - Veri Filtreleme5Proje: Alışveriş Sepeti Hesaplayıcı
Proje KurulumuSepete Ürün Ekleme3Kümeler
Küme Nedir?Küme OluşturmaKümelere Eleman Ekleme ve ÇıkarmaKüme İçinde Eleman KontrolüListeyi Kümeye DönüştürmeKüme BirleşimiKüme KesişimiKüme FarkıÖzet - Benzersiz Davetli ListesiKendi başına pratik yap: Online Dart derleyicisi