Menu
Coddy logo textTech

Break

Parte de la sección Fundamentos del Journey de R de Coddy. Lección 40 de 78.

A veces necesitas salir de un bucle antes de que complete todas sus iteraciones. La instrucción break te permite detener inmediatamente un bucle cuando se cumple una condición específica.

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

Salida:

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

El bucle se configuró para ejecutarse de 1 a 10, pero cuando i llegó a 5, la instrucción break detuvo el bucle por completo. Observa que 5 nunca se imprimió porque break sale inmediatamente.

Esto es especialmente útil con bucles while al buscar algo:

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

Salida:

[1] 5

Aquí, while (TRUE) normalmente se ejecutaría para siempre, pero break lo detiene una vez que encontramos el primer número cuyo cuadrado supera 20. Este patrón es común cuando necesitas buscar hasta que se cumpla una condición.

challenge icon

Desafío

Fácil

Lee un número limit de la entrada. Usa un bucle for para iterar de 1 a limit, pero detén el bucle antes de tiempo usando break cuando encuentres el primer número divisible entre 3 y 7.

Imprime cada número antes de comprobar la condición. Cuando encuentres un número divisible entre 3 y 7, imprime ese número y después sal del bucle.

Después de que termine el bucle, imprime "Loop ended" usando print().

Por ejemplo, si la entrada es 30, la salida debería ser:

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

El bucle se detiene en 21 porque es el primer número divisible entre 3 y 7 (21 = 3 × 7).

Pruébalo tú mismo

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

# TODO: Escribe tu código debajo
# Usa un bucle for desde 1 hasta limit
# Imprime cada número antes de comprobar la condición
# Haz break cuando encuentres un número divisible por 3 y por 7
# Pista: Usa el operador %% para comprobar la divisibilidad


# Imprime "Loop ended" después del bucle
print("Loop ended")
quiz iconPonte a prueba

Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.

Todas las lecciones de Fundamentos

Practica por tu cuenta: Compilador de R online