top of page

Bucles while

Primera sesión después del primer parcial

Profesor: Ángel Fidalgo

¿Cómo sé que tengo que usar uno?

Busca las siguientes claves en el enunciado:

  • "Hasta que"

  • "Mientras que"

¿Entonces cómo lo incluyo en un organigrama?

Veamos el primer ejemplo de clase:

​

​

​

Esto se puede expresar como lo hemos hecho hasta ahora (bucle for) o mediante un bucle while. Para tener un punto de comparación, es preferible hacerlo como hasta ahora. Contrástalo con la imagen para estar seguro:

suma_ej1.png
Ver solución

Ahora vamos a ver paso a paso qué cambia cuando queremos utilizar un bucle while. Si quieres intentar resolverlo antes de ver la explicación, puedes acceder a la solución para comparar pinchando en el siguiente botón:

​

​

​

En primer lugar, al ser una condición, utilizaremos el siguiente símbolo:

​

​

Dentro tendremos que escribir la condición. En este caso, la suma se da mientras que i sea menor o igual que n, por lo que esta será nuestra condición: 

 

​​

​​

​

​

 

 

Aunque tengamos la condición, no hemos asignado ningún valor a i, por lo que nuestro algoritmo no funcionaría. En este caso el valor inicial para es de 1 y se introduce antes del bucle. 

​

​

​

​

​

​

 

 

Cabe destacar que se trata de una condición de entrada (al bucle) y, por tanto, si no se cumple, el programa no sigue, así que no es necesario introducir una línea con "NO".

​

Ahora que tenemos una condición, pasamos al bucle, donde, de la misma manera que en el bucle for, introducimos la suma.

​

Aun habiendo hecho esto, todavía no funcionaría el algoritmo, ya que habría que aumentar el valor de i, es decir, definir los incrementos dentro del bucle. En este caso, los incrementos son unitarios, por lo que introducimos: i=i+1. 

 

Ante esto, surgió una duda en clase: ¿dónde se pone el incremento: antes o después de la suma? ¿Qué cambios supone en el resto del organigrama? Para ver la explicación, pincha en el botón de abajo:

​

​

​

El resto se mantendría igual que en el caso del bucle for. Puedes consultar el organigrama en la siguiente imagen:

​​

Condición.png
Condición_ejemplo_1.png
i 1 ejemplo while 1.png
Ver solución
Ancla 1

¿Cómo incluyo más de una condición?

Supongamos que seguimos con el mismo ejemplo, pero en este caso queremos incluir otra condición: queremos que el algoritmo siga hasta que la suma llegue a 100.

 

Para lograr esto, habrá que incluir dos condiciones dentro del símbolo de condición: que i sea menor que n y que (la suma) sea menor o igual que 100. Si no tienes claro por qué es "menor o igual", puedes consultar un truco que se nos dio en clase:

En este caso, como queremos que se cumplan ambas condiciones a la vez, escribimos "AND", pero también puede ser que queramos que el bucle empiece mientras se cumpla al menos una de las condiciones, por lo que escribiríamos "OR":

ejemplo1_2-condiciones.png
bottom of page