Menu
Coddy logo textTech

Break

Coddy'nin R Journey'sinin Temeller bölümünün bir parçası. Ders 40 / 78.

Bazen bir döngünün tüm yinelemelerini tamamlamadan, erken çıkmanız gerekir. break ifadesi, belirli bir koşul karşılandığında bir döngüyü hemen durdurmanıza olanak tanır.

for (i in 1:10) {
  if (i == 5) {
    break
  }
  print(i)
}

Çıktı:

[1] 1
[1] 2
[1] 3
[1] 4

Döngü 1'den 10'a kadar çalışacak şekilde ayarlandı, ancak i 5'e ulaştığında break ifadesi döngüyü tamamen durdurdu. 5'in hiç yazdırılmadığına dikkat edin; çünkü break hemen çıkar.

Bu, özellikle bir şey ararken while döngüleriyle kullanışlıdır:

num <- 1
while (TRUE) {
  if (num * num > 20) {
    break
  }
  num <- num + 1
}
print(num)

Çıktı:

[1] 5

Burada, while (TRUE) normalde sonsuza kadar çalışır, ancak break karesi 20'yi aşan ilk sayıyı bulduğumuzda döngüyü durdurur. Bu kalıp, bir koşul sağlanana kadar arama yapmanız gerektiğinde yaygındır.

challenge icon

Görev

Kolay

Girdiden bir limit sayısı okuyun. 1’den limit değerine kadar yinelemek için bir for döngüsü kullanın, ancak hem 3’e hem de 7’ye bölünebilen ilk sayıyla karşılaştığınızda break kullanarak döngüyü erkenden durdurun.

Koşulu kontrol etmeden önce her sayıyı yazdırın. Hem 3’e hem de 7’ye bölünebilen bir sayı bulduğunuzda, o sayıyı yazdırın ve ardından döngüden çıkın.

Döngü sona erdikten sonra "Loop ended" ifadesini print() kullanarak yazdırın.

Örneğin, girdi 30 ise çıktı şu şekilde olmalıdır:

[1] 1
[1] 2
[1] 3
[1] 4
[1] 5
[1] 6
[1] 7
[1] 8
[1] 9
[1] 10
[1] 11
[1] 12
[1] 13
[1] 14
[1] 15
[1] 16
[1] 17
[1] 18
[1] 19
[1] 20
[1] 21
[1] "Loop ended"

Döngü 21’de durur, çünkü bu hem 3’e hem de 7’ye bölünebilen ilk sayıdır (21 = 3 × 7).

Kendin dene

# Girdiyi oku
con <- file("stdin", "r")
limit <- as.integer(suppressWarnings(readLines(con, n = 1)))

# TODO: Kodunuzu aşağıya yazın
# 1'den limit'e kadar bir for döngüsü kullan
# Koşulu kontrol etmeden önce her sayıyı yazdır
# Hem 3 hem de 7'ye bölünebilen bir sayı bulduğunda break yap
# İpucu: Bölünebilirliği kontrol etmek için %% operatörünü kullan


# Döngüden sonra "Loop ended" yazdır
print("Loop ended")
quiz iconKendini test et

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

Temeller bölümündeki tüm dersler

Kendi başına pratik yap: Online R derleyicisi