Boucle While
Fait partie de la section Fondamentaux du Journey R de Coddy — leçon 39 sur 78.
Alors qu'une boucle for itère à travers une séquence prédéfinie, une boucle while continue de s'exécuter tant qu'une condition reste TRUE. C'est utile lorsque vous ne savez pas à l'avance combien de fois vous devez répéter quelque chose.
count <- 1
while (count <= 3) {
print(count)
count <- count + 1
}Sortie :
[1] 1
[1] 2
[1] 3La boucle vérifie la condition count <= 3 avant chaque itération. Lorsque count devient 4, la condition est FALSE, et la boucle s'arrête.
Important : Vous devez mettre à jour la variable à l'intérieur de la boucle. Sans count <- count + 1, la condition serait toujours TRUE, créant une boucle infinie qui ne s'arrête jamais.
total <- 0
num <- 1
while (num <= 5) {
total <- total + num
num <- num + 1
}
print(total)Résultat :
[1] 15Cet exemple additionne les nombres de 1 à 5, ce qui donne 15. La boucle while est idéale lorsque le point d'arrêt dépend d'une condition plutôt que d'une séquence fixe.
Défi
FacileLisez un nombre n à partir de l'entrée. Utilisez une boucle while pour calculer et afficher la somme de tous les nombres de 1 à n.
Commencez avec une variable pour suivre votre total cumulé et une autre variable comme compteur. Continuez à ajouter au total tant que votre compteur est inférieur ou égal à n, en incrémentant le compteur à chaque itération.
Une fois la boucle terminée, affichez la somme finale en utilisant print().
Par exemple, si l'entrée est 5, la sortie devrait être :
[1] 15C'est parce que 1 + 2 + 3 + 4 + 5 = 15.
Aide-mémoire
Une boucle while s'exécute tant qu'une condition reste TRUE :
count <- 1
while (count <= 3) {
print(count)
count <- count + 1
}La boucle vérifie la condition avant chaque itération. Lorsque la condition devient FALSE, la boucle s'arrête.
Important : Mettez toujours à jour la variable à l'intérieur de la boucle pour éviter les boucles infinies :
total <- 0
num <- 1
while (num <= 5) {
total <- total + num
num <- num + 1
}
print(total) # Résultat : [1] 15Les boucles while sont idéales lorsque le point d'arrêt dépend d'une condition plutôt que d'une séquence fixe.
Essayez vous-même
# Lire l'entrée
con <- file("stdin", "r")
n <- as.integer(suppressWarnings(readLines(con, n = 1)))
# Initialiser les variables
total <- 0
counter <- 1
# À FAIRE : Écrivez votre boucle while ci-dessous pour calculer la somme de 1 à n
# Afficher le résultat
print(total)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
4Opérateurs - Partie 2
Opérateurs logiques (AND, OR)Opérateurs logiques - Partie 2 (NOT)Récapitulatif - Logique simpleLogique vectorisée - Partie 1Logique vectorisée - Partie 27Calculateur de partage d'addition
Message de bienvenueRécupérer la saisie utilisateur10FizzBuzz avec une variante
Présentation du jeuLa fonction FizzBuzz2Variables et types de données
Type de données numériqueType de données entierType de données caractèreType de données logiqueVérification des types de donnéesConventions de nommageValeurs manquantes : NARécapitulatif - Création de variables8Boucles
Boucle ForBoucle WhileBreakSuivant (Continue)Récapitulatif - FactorielleGénération de séquences (seq, :)Boucles imbriquéesRécapitulatif - Saisie dynamique3Opérateurs, partie 1
Opérateurs arithmétiquesDivision entière et moduloOpérateurs d'affectationRécapitulatif - Mathématiques simplesOpérateurs de comparaison6Entrées/Sorties de base
Affichage avec PrintCat pour l'affichageAffichage avec des variablesLire l'entrée avec readline()Bases de la conversion de typesRécapitulatif - Calculateur d'âgeRécapitulatif - Vrai ou Faux9Fonctions
Déclarer une fonctionArguments de fonctionValeurs de retourRécapitulatif - Fonction SigmaRécapitulatif - Fonction de validationValeurs de paramètres par défaut