Menu
CoddyTech

Conditions avec 'every'

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

Alors que any() vérifie si au moins un élément satisfait une condition, vous devez parfois vérifier que tous les éléments d’une liste respectent une exigence spécifique. La méthode every() offre cette fonctionnalité en testant chaque élément par rapport à votre condition et en renvoyant true uniquement s’ils la respectent tous.

La méthode every() prend une fonction de test qui renvoie true ou false pour chaque élément. Si un élément échoue au test, every() renvoie immédiatement false. Elle ne renvoie true que lorsque tous les éléments réussissent le test.

List<int> examScores = [75, 82, 68, 91, 77];

// Vérifier si tous les étudiants ont réussi (score > 60)
bool allPassed = examScores.every((score) => score > 60);
print(allPassed);  // true

Cette méthode est particulièrement utile dans les scénarios de validation où tu dois t’assurer que tous les éléments répondent à certains critères avant de continuer. La méthode every() cesse les vérifications dès qu’elle trouve un élément qui échoue au test, ce qui la rend efficace pour les grandes listes où tu dois garantir une conformité universelle.

challenge icon

Défi

Facile

Créez un programme qui gère un système de contrôle qualité en vérifiant que tous les produits d’un lot respectent les normes requises. Votre programme doit :

  1. Lire une entrée de type chaîne de caractères représentant le nom de l’usine
  2. Lire plusieurs entrées de type entier représentant les scores de qualité des produits (la saisie se terminera lorsque vous recevrez -1)
  3. Lire une entrée de type entier représentant le seuil minimal de qualité requis
  4. Utiliser la méthode every() pour vérifier si tous les scores des produits sont supérieurs ou égaux au seuil minimal
  5. Afficher les résultats du contrôle qualité dans le format exact indiqué ci-dessous

Par exemple, si le nom de l’usine est "Electronics Factory", que les scores de qualité sont 85, 92, 78, 88, 95 et que le seuil minimal est 75, votre programme doit afficher :

Factory: Electronics Factory
Quality scores: [85, 92, 78, 88, 95]
Minimum standard: 75
Checking if all scores >= 75
All products passed: true
Status: Batch approved for shipment

Si le nom de l’usine est "Textile Mill", que les scores de qualité sont 68, 82, 74, 91 et que le seuil minimal est 70, votre programme doit afficher :

Factory: Textile Mill
Quality scores: [68, 82, 74, 91]
Minimum standard: 70
Checking if all scores >= 70
All products passed: false
Status: Batch rejected - quality improvement required

Si le nom de l’usine est "Food Processing", que les scores de qualité sont 95, 98, 92 et que le seuil minimal est 90, votre programme doit afficher :

Factory: Food Processing
Quality scores: [95, 98, 92]
Minimum standard: 90
Checking if all scores >= 90
All products passed: true
Status: Batch approved for shipment

Votre programme doit utiliser la méthode every() pour vérifier que tous les scores de qualité sont supérieurs ou égaux au seuil minimal. Affichez "Batch approved for shipment" si tous les produits respectent la norme, ou "Batch rejected - quality improvement required" si un produit ne respecte pas l’exigence minimale.

Essayez vous-même

import 'dart:io';

void main() {
  // Lire le nom de l’usine
  String? factoryName = stdin.readLineSync();
  
  // Lire les scores de qualité jusqu’à rencontrer -1
  List<int> qualityScores = [];
  while (true) {
    int score = int.parse(stdin.readLineSync()!);
    if (score == -1) {
      break;
    }
    qualityScores.add(score);
  }
  
  // Lire le seuil minimal
  int minThreshold = int.parse(stdin.readLineSync()!);
  
  // TODO: Écrivez votre code ci-dessous
  // Utiliser la méthode every() pour vérifier si tous les scores atteignent le seuil minimal
  
  // Afficher les résultats au format demandé
  print('Factory: $factoryName');
  print('Quality scores: $qualityScores');
  print('Minimum standard: $minThreshold');
  print('Checking if all scores >= $minThreshold');
  // Afficher si tous les produits ont réussi et le statut final
}
quiz iconTestez-vous

Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.

Toutes les leçons de Logique & Flux

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