Menu
CoddyTech

'every' ile Koşullar

Coddy'nin Dart Journey'sinin Mantık & Akış bölümünün bir parçası. Ders 14 / 65.

any() en az bir öğenin bir koşulu karşılayıp karşılamadığını kontrol ederken, bazen bir listedeki tüm öğelerin belirli bir gereksinimi karşıladığını doğrulamanız gerekir. every() yöntemi, her bir öğeyi koşulunuza göre test ederek ve yalnızca hepsi başarılı olursa true döndürerek bu işlevi sağlar.

every() yöntemi, her öğe için true veya false döndüren bir test işlevi alır. Herhangi bir öğe testi geçemezse every() hemen false döndürür. Yalnızca tüm öğeler testi geçtiğinde true döndürür.

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

// Tüm öğrencilerin geçip geçmediğini kontrol et (score > 60)
bool allPassed = examScores.every((score) => score > 60);
print(allPassed);  // true

Bu yöntem, devam etmeden önce tüm öğelerin belirli ölçütleri karşıladığından emin olmanız gereken doğrulama senaryolarında özellikle kullanışlıdır. every() yöntemi, testi geçemeyen bir öğe bulur bulmaz kontrol etmeyi durdurur; bu da evrensel uyumluluğun gerektiği büyük listeler için verimli olmasını sağlar.

challenge icon

Görev

Kolay

Bir partideki tüm ürünlerin gerekli standartları karşıladığını doğrulayarak kalite kontrol sistemini yöneten bir program oluştur. Programın şunları yapmalıdır:

  1. Fabrika adını temsil eden bir dize girdisi oku
  2. Ürün kalite puanlarını temsil eden birden fazla tam sayı girdisi oku (girdi, -1 aldığında sona erecektir)
  3. Minimum kalite standardı eşiğini temsil eden bir tam sayı girdisi oku
  4. Tüm ürün puanlarının minimum eşik değerine eşit veya bu değerden büyük olup olmadığını kontrol etmek için every() yöntemini kullan
  5. Kalite kontrol sonuçlarını aşağıda gösterilen biçimin aynısıyla yazdır

Örneğin, fabrika adı "Electronics Factory", kalite puanları 85, 92, 78, 88, 95 ve minimum eşik 75 ise programın şu çıktıyı vermelidir:

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

Fabrika adı "Textile Mill", kalite puanları 68, 82, 74, 91 ve minimum eşik 70 ise programın şu çıktıyı vermelidir:

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

Fabrika adı "Food Processing", kalite puanları 95, 98, 92 ve minimum eşik 90 ise programın şu çıktıyı vermelidir:

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

Programın, tüm kalite puanlarının minimum eşik değerine eşit veya bu değerden büyük olduğunu doğrulamak için every() yöntemini kullanması gerekir. Tüm ürünler standardı karşılıyorsa "Batch approved for shipment", herhangi bir ürün minimum gerekliliği karşılamıyorsa "Batch rejected - quality improvement required" mesajını göster.

Kendin dene

import 'dart:io';

void main() {
  // Fabrika adını oku
  String? factoryName = stdin.readLineSync();
  
  // -1 ile karşılaşılana kadar kalite puanlarını oku
  List<int> qualityScores = [];
  while (true) {
    int score = int.parse(stdin.readLineSync()!);
    if (score == -1) {
      break;
    }
    qualityScores.add(score);
  }
  
  // Minimum eşiği oku
  int minThreshold = int.parse(stdin.readLineSync()!);
  
  // TODO: Kodunu aşağıya yaz
  // Tüm puanların minimum standardı karşılayıp karşılamadığını kontrol etmek için every() metodunu kullan
  
  // Sonuçları istenen biçimde yazdır
  print('Factory: $factoryName');
  print('Quality scores: $qualityScores');
  print('Minimum standard: $minThreshold');
  print('Checking if all scores >= $minThreshold');
  // Tüm ürünlerin geçip geçmediğini ve son durumu yazdır
}
quiz iconKendini test et

Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.

Mantık & Akış bölümündeki tüm dersler

Kendi başına pratik yap: Online Dart derleyicisi