Menu
Coddy logo textTech

Récapitulatif - Organisateur de liste

Fait partie de la section Logique & Flux du Journey Dart de Coddy. Leçon 9 sur 65.

challenge icon

Défi

Facile

Créez un programme qui gère un pipeline de traitement des données en effectuant plusieurs opérations successives sur une liste de nombres. Votre programme doit :

  1. Lire une entrée de type chaîne représentant le nom du jeu de données
  2. Lire plusieurs entrées entières représentant les valeurs de données d’origine (la saisie se terminera lorsque vous recevrez -999)
  3. Insérer la valeur 100 au début de la liste (position 0)
  4. Supprimer tous les nombres négatifs de la liste à l’aide de removeWhere()
  5. Trier les nombres restants par ordre croissant à l’aide de sort()
  6. Vérifier si la liste finale est vide à l’aide de isEmpty
  7. Afficher les résultats du traitement des données dans le format exact présenté ci-dessous

Par exemple, si le nom du jeu de données est "Sales Data" et que les valeurs sont 45, -12, 78, -5, 23, votre programme doit afficher :

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

Si le nom du jeu de données est "Temperature Readings" et que les valeurs sont -10, -5, -20, votre programme doit afficher :

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

Si le nom du jeu de données est "Error Values" et que l’unique valeur est -50, votre programme doit afficher :

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

Votre programme doit effectuer toutes les opérations dans l’ordre exact indiqué : commencer par insert() la valeur 100 à la position 0, puis utiliser removeWhere() pour supprimer les nombres négatifs, puis sort() la liste, et enfin vérifier si la liste isEmpty. Affichez « Liste vide » si la liste finale ne contient aucun élément, ou « Liste non vide » si elle contient des éléments.

REQUIRED OUTPUT FORMAT: [Your translated content here]

Essayez vous-même

import 'dart:io';

void main() {
  // Lire le nom du jeu de données
  String? datasetName = stdin.readLineSync();
  
  // Lire les nombres jusqu'à ce que -999 soit rencontré
  List<int> originalData = [];
  while (true) {
    int? number = int.parse(stdin.readLineSync()!);
    if (number == -999) {
      break;
    }
    originalData.add(number);
  }
  
  // Afficher les informations initiales
  print('Dataset: $datasetName');
  print('Original data: $originalData');
  
  // TODO: Écrivez votre code ci-dessous
  // 1. Insérer 100 au début (position 0)
  // 2. Supprimer tous les nombres négatifs en utilisant removeWhere()
  // 3. Trier la liste par ordre croissant en utilisant sort()
  // 4. Vérifier si la liste est vide en utilisant isEmpty
  // 5. Afficher les résultats au format requis
  
}

Toutes les leçons de Logique & Flux

Entraînez-vous par vous-même : Compilateur Dart en ligne