Menu
Coddy logo textTech

Break

Fait partie de la section Fondamentaux du Journey R de Coddy. Leçon 40 sur 78.

Parfois, tu dois quitter une boucle prématurément, avant qu’elle n’ait terminé toutes ses itérations. L’instruction break te permet d’arrêter immédiatement une boucle lorsqu’une condition spécifique est remplie.

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

Sortie :

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

La boucle était configurée pour s’exécuter de 1 à 10, mais lorsque i a atteint 5, l’instruction break a complètement arrêté la boucle. Remarque que 5 n’a jamais été affiché, car break quitte immédiatement.

Cela est particulièrement utile avec les boucles while lorsque vous recherchez quelque chose :

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

Sortie :

[1] 5

Ici, while (TRUE) s’exécuterait normalement indéfiniment, mais break l’arrête dès que nous trouvons le premier nombre dont le carré dépasse 20. Ce modèle est courant lorsque vous devez effectuer une recherche jusqu’à ce qu’une condition soit satisfaite.

challenge icon

Défi

Facile

Lisez un nombre limit depuis l’entrée. Utilisez une boucle for pour itérer de 1 à limit, mais arrêtez la boucle prématurément à l’aide de break lorsque vous rencontrez le premier nombre divisible à la fois par 3 et par 7.

Affichez chaque nombre avant de vérifier la condition. Lorsque vous trouvez un nombre divisible à la fois par 3 et par 7, affichez ce nombre, puis sortez de la boucle.

Une fois la boucle terminée, affichez "Loop ended" à l’aide de print().

Par exemple, si l’entrée est 30, la sortie doit être :

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

La boucle s’arrête à 21, car il s’agit du premier nombre divisible à la fois par 3 et par 7 (21 = 3 × 7).

Essayez vous-même

# Lire l'entrée
con <- file("stdin", "r")
limit <- as.integer(suppressWarnings(readLines(con, n = 1)))

# TODO: Écrivez votre code ci-dessous
# Utilisez une boucle for de 1 à limit
# Affichez chaque nombre avant de vérifier la condition
# Interrompez lorsque vous trouvez un nombre divisible à la fois par 3 et par 7
# Astuce : utilisez l'opérateur %% pour vérifier la divisibilité


# Affichez "Loop ended" après la boucle
print("Loop ended")
quiz iconTestez-vous

Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.

Toutes les leçons de Fondamentaux

Entraînez-vous par vous-même : Compilateur R en ligne