Bucle While
Parte de la sección Fundamentos del Journey de R de Coddy. Lección 39 de 78.
Mientras un bucle for itera a través de una secuencia predefinida, un bucle while sigue ejecutándose mientras una condición siga siendo TRUE. Esto resulta ú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 se convierte en 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)Salida:
[1] 15Este ejemplo suma los números del 1 al 5, lo que da como resultado 15. El bucle while es ideal cuando el punto de detención 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 a n.
Comienza con una variable para llevar el total acumulado y otra variable como contador. Sigue sumando al total mientras el contador sea menor o igual que n, incrementando el contador en cada iteración.
Después de que se complete el bucle, imprime la suma final usando print().
Por ejemplo, si la entrada es 5, la salida debería ser:
[1] 15Esto se debe a que 1 + 2 + 3 + 4 + 5 = 15.
Pruébalo tú mismo
# Leer la entrada
con <- file("stdin", "r")
n <- as.integer(suppressWarnings(readLines(con, n = 1)))
# Inicializar variables
total <- 0
counter <- 1
# TODO: Escribe tu bucle while debajo 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 defectoPractica por tu cuenta: Compilador de R online