Bucle While
Parte de la sección Fundamentos del Journey de R de Coddy — lección 39 de 78.
Mientras que un bucle for itera a través de una secuencia predefinida, un bucle while continúa ejecutándose mientras una condición siga siendo TRUE. Esto es útil cuando no sabes de antemano cuántas veces necesitas repetir algo.
count <- 1
while (count <= 3) {
print(count)
count <- count + 1
}Salida:
[1] 1
[1] 2
[1] 3El bucle comprueba la condición count <= 3 antes de cada iteración. Cuando count pasa a ser 4, la condición es FALSE y el bucle se detiene.
Importante: Debes actualizar la variable dentro del bucle. Sin count <- count + 1, la condición siempre sería TRUE, creando un bucle infinito que nunca termina.
total <- 0
num <- 1
while (num <= 5) {
total <- total + num
num <- num + 1
}
print(total)Resultado:
[1] 15Este ejemplo suma los números del 1 al 5, dando como resultado 15. El bucle while es ideal cuando el punto de parada depende de una condición en lugar de una secuencia fija.
Desafío
FácilLee un número n de la entrada. Usa un bucle while para calcular e imprimir la suma de todos los números del 1 al n.
Comienza con una variable para rastrear tu total acumulado y otra variable como tu contador. Sigue sumando al total mientras tu contador sea menor o igual a n, incrementando el contador en cada iteración.
Después de que el bucle se complete, imprime la suma final usando print().
Por ejemplo, si la entrada es 5, la salida debería ser:
[1] 15Esto es porque 1 + 2 + 3 + 4 + 5 = 15.
Hoja de referencia
Un bucle while se ejecuta mientras una condición permanezca TRUE:
count <- 1
while (count <= 3) {
print(count)
count <- count + 1
}El bucle comprueba la condición antes de cada iteración. Cuando la condición se vuelve FALSE, el bucle se detiene.
Importante: Actualiza siempre la variable dentro del bucle para evitar bucles infinitos:
total <- 0
num <- 1
while (num <= 5) {
total <- total + num
num <- num + 1
}
print(total) # Salida: [1] 15Los bucles while son ideales cuando el punto de parada depende de una condición en lugar de una secuencia fija.
Pruébalo tú mismo
# Leer entrada
con <- file("stdin", "r")
n <- as.integer(suppressWarnings(readLines(con, n = 1)))
# Inicializar variables
total <- 0
counter <- 1
# TODO: Escribe tu bucle while a continuación para calcular la suma de 1 a n
# Imprimir el resultado
print(total)Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Todas las lecciones de Fundamentos
4Operadores Parte 2
Operadores lógicos (AND, OR)Operadores lógicos Parte 2 (NOT)Resumen - Lógica simpleLógica vectorizada Parte 1Lógica vectorizada Parte 27Calculadora para dividir la cuenta
Mensaje de bienvenidaObtener la entrada del usuario2Variables y tipos de datos
Tipo de dato numéricoTipo de dato enteroTipo de dato de caracteresTipo de dato lógicoComprobación de tipos de datosConvenciones de nomenclaturaValores faltantes: NAResumen - Creación de variables8Bucles
Bucle ForBucle WhileBreakNext (Continue)Repaso - FactorialGeneración de secuencias (seq, :)Bucles anidadosRepaso - Entrada dinámica3Operadores Parte 1
Operadores aritméticosDivisión entera y móduloOperadores de asignaciónRepaso - Matemáticas simplesOperadores de comparación6E/S básica
Imprimir salidaCat para salidaSalida con variablesLectura de entrada con readline()Conceptos básicos de conversión de tiposResumen - Calculadora de edadResumen - Verdadero o falso9Funciones
Declarar una funciónArgumentos de una funciónValores de retornoRepaso - Función SigmaRepaso - Función de validaciónValores de parámetros por defecto