Menu
Coddy logo textTech

Özet - Liste Düzenleyici

Coddy'nin Dart Journey'sinin Mantık & Akış bölümünün bir parçası — ders 9 / 65.

challenge icon

Görev

Kolay

Bir sayı listesi üzerinde sırayla birden fazla işlem gerçekleştirerek bir veri işleme hattını yöneten bir program oluşturun. Programınız şunları yapmalıdır:

  1. Veri kümesi adını temsil eden bir dize girişi okuyun
  2. Orijinal veri değerlerini temsil eden birden fazla tam sayı girişi okuyun (giriş -999 aldığınızda sona erecektir)
  3. Listenin başına (0. konum) 100 değerini ekleyin
  4. removeWhere() kullanarak listedeki tüm negatif sayıları kaldırın
  5. Kalan sayıları sort() kullanarak artan düzende sıralayın
  6. isEmpty kullanarak son listenin boş olup olmadığını kontrol edin
  7. Veri işleme sonuçlarını aşağıda gösterilen tam formatta yazdırın

Örneğin, veri kümesi adı "Sales Data" ve değerler 45, -12, 78, -5, 23 ise programınız şu çıktıyı vermelidir:

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 remaining

Eğer veri kümesi adı "Temperature Readings" ve değerler -10, -5, -20 ise programınız şu çıktıyı vermelidir:

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 remaining

Eğer veri kümesi adı "Error Values" ve tek değer -50 ise programınız şu çıktıyı vermelidir:

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 remaining

Programınız tüm işlemleri belirtilen tam sırayla gerçekleştirmelidir: önce 0. konuma 100 değerini insert() edin, ardından negatif sayıları kaldırmak için removeWhere() kullanın, sonra listeyi sort() edin ve son olarak listenin isEmpty olup olmadığını kontrol edin. Son listede hiç eleman yoksa "List is empty", eleman varsa "List is not empty" görüntüleyin.

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