top of page

BUCLES WHILE

Ancla 1

¿Qué es un bucle while?

Este es un tipo de bucle que ocurre mientras una condición es verdadera (TRUE).

La operación se realiza hasta que se llega a cumplir un criterio previamente establecido. El modelo de while es:

while (condición) {

         operaciones

}

Con esto le decimos a R: “mientras esta condición sea verdadera, haz estas operaciones”.

La condición generalmente es expresada como el resultado de una o varias operaciones de comparación, pero también puede ser el resultado de una función.

Probemos sumar +1 a un valor, mientras que este sea menor que 5. Al igual que con for, necesitamos la función print() para mostrar los resultados en la consola.

                                                              

Ancla 2

Ejemplo

¡Ten cuidado con crear bucles infinitos! Si ejecutas un while con una condición que nunca será FALSE, este nunca se detendrá.

Si ocurre esto, presiona la tecla ESC para detener la ejecución.

Imagen 32.png

ATENCIÓN

EJEMPLO

A continuación, vamos a ver un ejemplo:

 

## Esta serie tiende a cero cuando n tiende a infinito

## f( n ) = f(n - 1) / n

## f( 0 ) = 5

## Va a tomar los valores:

## f(0)=5, f(1)=5, f(2)=5/2, f(3)=(5/2)/3, f(4)=((5/2)/3)/4, ...= 5

## Para calcular los sucesivos valores de la serie, llegando hasta un valor

## menor a 0.001 (o sea: f( n ) < 0.001)

f <- 5 ## Valor inicial

n <- 0

while(f > 0.001) {

  n <- n + 1

  f <- f / n

  print(f)

Ancla 3

Vídeo explicativo

Adjuntamos un vídeo explicativo de Youtube sobre

la diferencia entre bucles for y bucles while ya que es una de las dudas más comunes.

Podéis verlo a continuación:

Ejercicios

Ancla 4

DIFICULTAD BAJA 

Pepín es un camarero que quiere hacer un viaje recorriendo EEUU con las propinas que recibe. Cada día recibe una propina entre 1 y 50 €. Debe ahorrar 3000€ para hacer el viaje.

Crear un bucle while que compruebe el dinero que va acumulando cada día e indique cuando podrá irse de viaje.

Pasos a seguir:

  1. Introducir los datos: dinero_viaje, ahorro, día.

  2. Crear bucle while que compruebe cada día que el dinero ahorrado es menor que el del viaje.

  3. Hacer:  propina=sample(1:50,1,replace=T) para generar un número aleatorio entre el 1 y el 50. Esa será la propina que reciba cada día.

  4. Sumar la propina al dinero acumulado y sumar 1 al día. Cerrar el bucle.

  5. Escribir el día y el ahorro que tiene cuando se puede ir de viaje.

  6. Escribir ‘Ya puedes viajar Pepín’ (comando print).

SOLUCIONES DE EJERCICIOS

DIFICULTAD BAJA 
bottom of page