Boucle While
Fait partie de la section Fondamentaux du Journey R de Coddy. Leçon 39 sur 78.
Alors qu’une boucle for parcourt une séquence prédéfinie, une boucle while continue de s’exécuter tant qu’une condition reste TRUE. Cela 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 : Tu dois 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 se termine jamais.
total <- 0
num <- 1
while (num <= 5) {
total <- total + num
num <- num + 1
}
print(total)Sortie :
[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 depuis l’entrée. Utilisez une boucle while pour calculer et afficher la somme de tous les nombres de 1 à n.
Commencez par une variable pour suivre le total cumulé et une autre variable comme compteur. Continuez à ajouter au total tant que le 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 à l’aide de print().
Par exemple, si l’entrée est 5, la sortie doit être :
[1] 15Cela s’explique par le fait que 1 + 2 + 3 + 4 + 5 = 15.
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
# TODO: É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éfautEntraînez-vous par vous-même : Compilateur R en ligne