Récapitulatif - Organisateur de liste
Fait partie de la section Logique & Flux du Journey Dart de Coddy — leçon 9 sur 65.
Défi
FacileCréez un programme qui gère un pipeline de traitement de données en effectuant plusieurs opérations sur une liste de nombres en séquence. Votre programme doit :
- Lire une chaîne de caractères en entrée représentant le nom du jeu de données (dataset name)
- Lire plusieurs entiers en entrée représentant les valeurs de données originales (la saisie se termine lorsque vous recevez
-999) - Insérer la valeur
100au début de la liste (position 0) - Supprimer tous les nombres négatifs de la liste en utilisant
removeWhere() - Trier les nombres restants par ordre croissant en utilisant
sort() - Vérifier si la liste finale est vide en utilisant
isEmpty - Afficher les résultats du traitement des données exactement au format indiqué 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 remainingSi 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 remainingSi le nom du jeu de données est "Error Values" et que la seule 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 remainingVotre programme doit effectuer toutes les opérations exactement dans l'ordre spécifié : d'abord insert() la valeur 100 à la position 0, puis utiliser removeWhere() pour supprimer les nombres négatifs, ensuite sort() la liste, et enfin vérifier si la liste isEmpty. Affichez "List is empty" si la liste finale ne contient aucun élément, ou "List is not empty" si elle contient des éléments.
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
1Manipulation avancée des listes
Propriétés de liste : first & lastÉtat de la liste : isEmpty & isNotEmptyInverser une listeAjouter à une liste : insertSuppression dans une liste : removeWhereRechercher dans une liste : indexOfTrier une listeMélanger une listeRécapitulatif - Organisateur de liste4Manipulation avancée des Maps
Itérer sur une MapVérifier les clés et les valeursPropriétés de Map : keys & valuesAjout conditionnel : putIfAbsentSupprimer des entrées d'une MapMaps imbriquéesRécapitulatif - Mise à jour de l'inventaire2Opérations fonctionnelles sur les listes
Transformer avec 'map'Filtrer avec 'where'Utiliser '.toList()'Vérifier des conditions avec 'any'Conditions avec 'every'Trouver avec 'firstWhere'Récapitulatif - Filtrage de données3Les Ensembles
Qu'est-ce qu'un ensemble ?Créer un ensembleAjouter et supprimer des éléments d'un ensembleVérifier la présence d'éléments dans un ensembleConvertir une liste en ensembleUnion d'ensemblesIntersection d'ensemblesDifférence d'ensemblesRécapitulatif - Liste d'invités uniques