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 des données en effectuant plusieurs opérations successives sur une liste de nombres. Votre programme doit :
- Lire une entrée de type chaîne représentant le nom du jeu de données
- Lire plusieurs entrées entières représentant les valeurs de données d’origine (la saisie se terminera lorsque vous recevrez
-999) - Insérer la valeur
100au début de la liste (position 0) - Supprimer tous les nombres négatifs de la liste à l’aide de
removeWhere() - Trier les nombres restants par ordre croissant à l’aide de
sort() - Vérifier si la liste finale est vide à l’aide de
isEmpty - 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 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 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 remainingVotre 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.
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 uniquesEntraînez-vous par vous-même : Compilateur Dart en ligne