Menu
Coddy logo textTech

Break

Teil des Abschnitts Grundlagen der R-Journey von Coddy. Lektion 40 von 78.

Manchmal musst du eine Schleife vorzeitig beenden, bevor sie alle ihre Iterationen abgeschlossen hat. Mit der Anweisung break kannst du eine Schleife sofort stoppen, wenn eine bestimmte Bedingung erfüllt ist.

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

Ausgabe:

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

Die Schleife wurde so eingestellt, dass sie von 1 bis 10 läuft, aber als i 5 erreichte, beendete die break-Anweisung die Schleife vollständig. Beachte, dass 5 nie ausgegeben wurde, weil break die Schleife sofort verlässt.

Dies ist besonders nützlich bei while-Schleifen, wenn du nach etwas suchst:

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

Ausgabe:

[1] 5

Hier würde while (TRUE) normalerweise unendlich laufen, aber break stoppt es, sobald wir die erste Zahl finden, deren Quadrat größer als 20 ist. Dieses Muster ist üblich, wenn du suchen musst, bis eine Bedingung erfüllt ist.

challenge icon

Aufgabe

Einfach

Lies eine Zahl limit aus der Eingabe ein. Verwende eine for-Schleife, um von 1 bis limit zu iterieren, aber beende die Schleife vorzeitig mit break, sobald du auf die erste Zahl triffst, die durch 3 und 7 teilbar ist.

Gib jede Zahl aus, bevor du die Bedingung überprüfst. Wenn du eine Zahl findest, die durch 3 und 7 teilbar ist, gib diese Zahl aus und verlasse dann die Schleife mit break.

Nachdem die Schleife beendet ist, gib mit print() "Loop ended" aus.

Wenn die Eingabe beispielsweise 30 lautet, sollte die Ausgabe folgendermaßen aussehen:

[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"

Die Schleife stoppt bei 21, weil dies die erste Zahl ist, die durch 3 und 7 teilbar ist (21 = 3 × 7).

Probier es selbst

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

# TODO: Schreibe deinen Code darunter
# Verwende eine for-Schleife von 1 bis limit
# Gib jede Zahl aus, bevor du die Bedingung prüfst
# Break, wenn du eine Zahl findest, die sowohl durch 3 als auch durch 7 teilbar ist
# Hinweis: Verwende den %%-Operator, um die Teilbarkeit zu prüfen


# Gib "Loop ended" nach der Schleife aus
print("Loop ended")
quiz iconTeste dich selbst

Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.

Alle Lektionen in Grundlagen

Übe selbstständig: Online-R-Compiler