Menu
Coddy logo textTech

Kümelere Eleman Ekleme ve Çıkarma

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

Bir Set nesnesine sahip olduğunuzda, yeni öğeler ekleyerek veya mevcut olanları kaldırarak içeriğini sık sık değiştirmeniz gerekecektir. add() ve remove() yöntemleri, kümenizin öğelerini yönetmek için basit yollar sunar.

add() yöntemi, kümeye yeni bir öğe eklemeye çalışır. Ancak, kümeler yalnızca benzersiz değerleri sakladığından, zaten var olan bir öğeyi eklemeye çalışırsanız, yöntem hiçbir şey yapmaz; herhangi bir hata oluşmaz ve küme değişmeden kalır.

Set<String> usernames = {'alice', 'bob', 'charlie'};

usernames.add('diana');     // 'diana' başarıyla eklenir
usernames.add('alice');     // Hiçbir şey yapmaz - 'alice' zaten mevcut

print(usernames);  // {alice, bob, charlie, diana}

remove() yöntemi, silmek istediğiniz değeri alıp kümeden çıkararak çalışır. Eğer öğe kümede mevcut değilse, yöntem hiçbir şey yapmaz; bu da onu önceden kontrol etmeden kullanmayı güvenli hale getirir.

usernames.remove('bob');        // 'bob'u kaldırır
usernames.remove('unknown');    // Hiçbir şey yapmaz - öğe bulunamadı

print(usernames);  // {alice, charlie, diana}
challenge icon

Görev

Kolay

Bir proje ekibine yeni ekip üyeleri ekleyerek ve aktif olmayanları çıkararak bir ekip iş birliği sistemini yöneten bir program oluşturun. Programınız şunları yapmalıdır:

  1. Proje adını temsil eden bir dize (string) girdisi okuyun
  2. Başlangıçtaki ekip üyelerini temsil eden birden fazla dize girdisi okuyun (girdi "initial_done" değerini aldığınızda sona erecektir)
  3. Eklenecek yeni üyeleri temsil eden birden fazla dize girdisi okuyun (girdi "add_done" değerini aldığınızda sona erecektir)
  4. Çıkarılacak üyeleri temsil eden birden fazla dize girdisi okuyun (girdi "remove_done" değerini aldığınızda sona erecektir)
  5. Başlangıçtaki ekip üyeleriyle bir Set (Küme) oluşturun
  6. Her bir yeni üyeyi ekibe eklemek için add() metodunu kullanın
  7. Belirtilen her bir üyeyi ekipten çıkarmak için remove() metodunu kullanın
  8. Ekip yönetim sonuçlarını tam olarak aşağıda gösterilen formatta yazdırın

Örneğin, proje adı "Mobile App Development", başlangıç üyeleri "Alice", "Bob", "Charlie", eklenecek yeni üyeler "Diana", "Alice", "Eve" ve çıkarılacak üyeler "Bob", "Frank" ise programınızın çıktısı şu şekilde olmalıdır:

Project: Mobile App Development
Initial team: {Alice, Bob, Charlie}
Adding new members: [Diana, Alice, Eve]
After adding members: {Alice, Bob, Charlie, Diana, Eve}
Removing members: [Bob, Frank]
Final team: {Alice, Charlie, Diana, Eve}
Team size: 4
Status: Team updated successfully

Eğer proje adı "Website Redesign", başlangıç üyeleri "John", "Sarah", eklenecek yeni üyeler "Mike", "John" ve çıkarılacak üyeler "Sarah", "Unknown" ise programınızın çıktısı şu şekilde olmalıdır:

Project: Website Redesign
Initial team: {John, Sarah}
Adding new members: [Mike, John]
After adding members: {John, Sarah, Mike}
Removing members: [Sarah, Unknown]
Final team: {John, Mike}
Team size: 2
Status: Team updated successfully

Eğer proje adı "Data Analysis", başlangıç üyeleri "Emma", eklenecek yeni üyeler "Tom", "Lisa" ve çıkarılacak üye "Emma" ise programınızın çıktısı şu şekilde olmalıdır:

Project: Data Analysis
Initial team: {Emma}
Adding new members: [Tom, Lisa]
After adding members: {Emma, Tom, Lisa}
Removing members: [Emma]
Final team: {Tom, Lisa}
Team size: 2
Status: Team updated successfully

Programınız, zaten var olan bir üyeyi eklemeye çalışırken add() metodunun hiçbir şey yapmadığını ve var olmayan bir üyeyi çıkarmaya çalışırken remove() metodunun hiçbir şey yapmadığını göstermelidir. Hangi işlemlerin denendiğini göstermek için girdi listelerini saklayın, ardından Set'lerin benzersiz doğasını kanıtlamak için her işlemden sonra Set içeriğini gösterin.

Kopya kağıdı

Bir Set'e eleman eklemek için add() kullanın. Eğer eleman zaten mevcutsa, hiçbir şey olmaz:

Set<String> usernames = {'alice', 'bob', 'charlie'};

usernames.add('diana');     // 'diana' başarıyla eklenir
usernames.add('alice');     // Hiçbir şey yapmaz - 'alice' zaten mevcut

print(usernames);  // {alice, bob, charlie, diana}

Bir Set'ten eleman silmek için remove() kullanın. Eğer eleman mevcut değilse, hiçbir şey olmaz:

usernames.remove('bob');        // 'bob'u siler
usernames.remove('unknown');    // Hiçbir şey yapmaz - eleman bulunamadı

print(usernames);  // {alice, charlie, diana}

Kendin dene

import 'dart:io';

void main() {
  // Proje adını oku
  String? projectName = stdin.readLineSync();
  
  // Başlangıç ekip üyelerini oku
  List<String> initialMembers = [];
  String? member;
  while ((member = stdin.readLineSync()) != "initial_done") {
    initialMembers.add(member!);
  }
  
  // Eklenecek yeni üyeleri oku
  List<String> membersToAdd = [];
  while ((member = stdin.readLineSync()) != "add_done") {
    membersToAdd.add(member!);
  }
  
  // Çıkarılacak üyeleri oku
  List<String> membersToRemove = [];
  while ((member = stdin.readLineSync()) != "remove_done") {
    membersToRemove.add(member!);
  }
  
  // TODO: Kodunuzu aşağıya yazın
  // Başlangıç ekip üyeleriyle bir Set oluşturun
  // add() metodunu kullanarak yeni üyeleri ekleyin
  // remove() metodunu kullanarak üyeleri çıkarın
  
  // Sonuçları istenen formatta yazdırın
  print("Project: $projectName");
  // Kalan yazdırma ifadelerini buraya ekleyin
}
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