Menu
Coddy logo textTech

Break

Parte da seção Fundamentos do Journey de R da Coddy. Lição 40 de 78.

Às vezes, você precisa sair de um loop antecipadamente, antes que ele conclua todas as suas iterações. A instrução break permite interromper imediatamente um loop quando uma condição específica é atendida.

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

Saída:

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

O loop foi configurado para ser executado de 1 a 10, mas, quando i chegou a 5, a instrução break interrompeu o loop completamente. Observe que 5 nunca foi impresso, porque break sai imediatamente.

Isso é especialmente útil com loops while ao procurar algo:

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

Saída:

[1] 5

Aqui, while (TRUE) normalmente seria executado para sempre, mas break o interrompe assim que encontramos o primeiro número cujo quadrado excede 20. Esse padrão é comum quando você precisa pesquisar até que uma condição seja satisfeita.

challenge icon

Desafio

Fácil

Leia um número limit da entrada. Use um loop for para iterar de 1 até limit, mas interrompa o loop antecipadamente usando break quando encontrar o primeiro número divisível por 3 e 7.

Imprima cada número antes de verificar a condição. Quando encontrar um número divisível por 3 e 7, imprima esse número e, em seguida, saia do loop.

Após o término do loop, imprima "Loop ended" usando print().

Por exemplo, se a entrada for 30, a saída deverá 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"

O loop para em 21 porque esse é o primeiro número divisível por 3 e 7 (21 = 3 × 7).

Experimente você mesmo

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

# TODO: Escreva seu código abaixo
# Use um loop for de 1 até limit
# Imprima cada número antes de verificar a condição
# Interrompa quando encontrar um número divisível por 3 e por 7
# Dica: Use o operador %% para verificar a divisibilidade


# Imprima "Loop ended" após o loop
print("Loop ended")
quiz iconTeste seus conhecimentos

Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.

Todas as lições de Fundamentos

Pratique por conta própria: Compilador de R online