Özet - Liste Düzenleyici
Coddy'nin Dart Journey'sinin Mantık & Akış bölümünün bir parçası. Ders 9 / 65.
Görev
KolayBir sayı listesi üzerinde birden fazla işlemi sırayla gerçekleştirerek veri işleme işlem hattını yöneten bir program oluştur. Programın şunları yapması gerekir:
- Veri kümesinin adını temsil eden bir dize girdisi oku
- Özgün veri değerlerini temsil eden birden fazla tam sayı girdisi oku (girdi,
-999aldığında sona erecek) 100değerini listenin başına (0. konuma) ekleremoveWhere()kullanarak listedeki tüm negatif sayıları kaldırsort()kullanarak kalan sayıları artan düzende sıralaisEmptykullanarak son listenin boş olup olmadığını kontrol et- Veri işleme sonuçlarını aşağıda gösterilen tam biçimde yazdır
Örneğin, veri kümesinin adı "Sales Data" ve değerler 45, -12, 78, -5, 23 ise programın çıktısı şu şekilde olmalıdır:
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 remainingVeri kümesinin adı "Temperature Readings" ve değerler -10, -5, -20 ise programın çıktısı şu şekilde olmalıdır:
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 remainingVeri kümesinin adı "Error Values" ve tek değer -50 ise programın çıktısı şu şekilde olmalıdır:
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 remainingProgramın tüm işlemleri belirtilen tam sırayla gerçekleştirmesi gerekir: önce 100 değerini 0. konuma insert() ile ekle, ardından negatif sayıları kaldırmak için removeWhere() kullan, sonra listeyi sort() ile sırala ve son olarak listenin isEmpty olup olmadığını kontrol et. Son listede hiç eleman yoksa "Liste boş", eleman içeriyorsa "Liste boş değil" yazdır.
Kendin dene
import 'dart:io';
void main() {
// Veri kümesi adını oku
String? datasetName = stdin.readLineSync();
// -999 ile karşılaşana kadar sayıları oku
List<int> originalData = [];
while (true) {
int? number = int.parse(stdin.readLineSync()!);
if (number == -999) {
break;
}
originalData.add(number);
}
// Başlangıç bilgilerini yazdır
print('Dataset: $datasetName');
print('Original data: $originalData');
// TODO: Kodunuzu aşağıya yazın
// 1. Başlangıca (0. pozisyona) 100 ekleyin
// 2. removeWhere() kullanarak tüm negatif sayıları kaldırın
// 3. sort() kullanarak listeyi artan düzende sıralayın
// 4. isEmpty kullanarak listenin boş olup olmadığını kontrol edin
// 5. Sonuçları istenen formatta yazdırın
}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