Défi : Somme des nombres
Fait partie de la section Fondamentaux du Journey Dart de Coddy — leçon 93 sur 94.
Défi
FacileDans ce défi, vous créerez une fonction qui calcule la somme des nombres dans une liste en fonction de certaines conditions.
Vous avez une liste d'entiers, et vous devez compléter la fonction sumWithCondition qui additionne uniquement les nombres qui répondent à des critères spécifiques.
La fonction doit :
- Calculer la somme de tous les nombres de la liste qui sont supérieurs à la valeur
threshold - Arrêter d'ajouter des nombres immédiatement après que la somme dépasse la valeur
maxSum(la somme finale peut être supérieure àmaxSum) - Retourner la somme finale
Important : La fonction arrête d'ajouter des nombres après avoir ajouté un nombre qui fait dépasser la somme de maxSum. Cela signifie que le résultat final peut être supérieur à maxSum.
Exemple : Si les nombres supérieurs à threshold sont [15, 20, 25, 30] et que maxSum est 50 :
- Add 15: sum = 15 (continue)
- Add 20: sum = 35 (continue)
- Add 25: sum = 60 (exceeds 50, so stop here)
- Result: 60 (not 50)
Essayez vous-même
void main() {
// Cas de test
List<int> numbers = [5, 10, 15, 20, 25, 30];
// Somme des nombres supérieurs à 12, avec somme max de 50
int result = sumWithCondition(numbers, 12, 50);
print('Sum of numbers > 12 (max 50): $result');
// Somme des nombres supérieurs à 8, avec somme max de 100
result = sumWithCondition(numbers, 8, 100);
print('Sum of numbers > 8 (max 100): $result');
}
// TODO: Compléter cette fonction pour sommer les nombres selon les conditions
int sumWithCondition(List<int> numbers, int threshold, int maxSum) {
int sum = 0;
// TODO: Parcourir la liste des nombres
// TODO: Ajouter seulement les nombres supérieurs au seuil à la somme
// TODO: Arrêter d'ajouter si la somme dépasse maxSum
return sum;
}Toutes les leçons de Fondamentaux
4Opérateurs Partie 2
Opérateurs de comparaisonET logiqueOU logiqueNON logiqueOpérateurs de test de typeRécapitulatif - Faire des comparaisons7Travailler avec les chaînes
Concaténation de chaînesInterpolation de chaînesChaînes multi-lignesPropriétés des chaînesMéthodes de base des chaînes10Collections - Bases des Maps
Que sont les Maps ?Créer une MapAccéder aux valeurs par cléPaires clé-valeurObtenir la taille d'une MapObtenir les clésObtenir les valeursVérifier si une clé existe2Variables et types de données de base
Qu'est-ce que les variables ?ChaînesEntiers (int)Doubles (double)Booléens (bool)Inférence de type avec 'var'Variables finalesVariables constantesConventions de nommageSécurité null de baseRécapitulatif - Déclaration des variables8Flux de contrôle - Boucles
La boucle 'for'La boucle 'while'La boucle 'do-while'Utiliser 'break' dans les bouclesUtiliser 'continue' dans les bouclesRécapitulatif - Répéter du code3Opérateurs Partie 1
Opérateurs arithmétiquesDivision entièreOpérateur moduloIncrémentation et décrémentationRaccourcis d'affectationRécapitulatif - Calculs simples6Flux de contrôle - Prise de décision
L'instruction 'if'L'instruction 'else'L'instruction 'else if'Récapitulatif - Décisions simplesInstructions 'if' imbriquéesL'instruction 'switch'9Collections - Bases des listes
Qu’est-ce qu’une liste ?Créer une listeAccéder par indexObtenir la longueur d’une listeAjouter des élémentsSupprimer des élémentsVérifier si une liste est videItérer sur une liste12Fonctions avancées
Paramètres positionnels optionnelsParamètres nommésParamètres nommés requisValeurs par défaut des paramètresRécap - Paramètres de fonction15Projet : Calculatrice simple
Mise en placeDéclaration d'un nombre