Está en la página 1de 4

while, do/while

ESTRUCTURA DE CONTROL while


El bloque “while” (“mientras”, en inglés) es un bloque que implementa
un bucle; es decir, repite la ejecución de las instrucciones que están
dentro de sus llaves de apertura y cierre. ¿Cuántas veces? No hay un
número fijo: se repetirán mientras la condición especificada entre sus
paréntesis sea cierta (“true”,1). Su sintaxis es muy sencilla:

La condición escrita entre paréntesis sigue las mismas reglas y puede


utilizar los mismos operadores que hemos visto con el bloque “if”. Nada
más llegar a la línea donde aparece escrita esta condición, esta se
comprobará; si resulta cierta, se ejecutarán las sentencias interiores, y si
no, la ejecución del programa continuará a partir de la línea siguiente a
la llave de cierre. En el primer caso (cuando la condición es cierta), una
vez ejecutadas todas las instrucciones del interior del bloque “while”, se
volverá a comprobar de nuevo la condición, y si esta continúa siendo
cierta, se realizará otra iteración (es decir: se volverán a ejecutar las
sentencias interiores). Cuando se llegue de nuevo al final de esas
instrucciones anteriores, se volverá a evaluar la condición, y si sigue
siendo cierta, se volverán a ejecutar. Este proceso continuará hasta que,
en un momento dado, al comprobarse la condición del “while”, esta
resulte falsa.

Si se llega por primera vez a una sentencia “while” y la condición resulta


falsa directamente, no se ejecutarán las sentencias interiores ninguna
vez. Este detalle es importante tenerlo en cuenta.

Las sentencias interiores a un bucle “while” pueden ser tantas como se


quieran y de cualquier tipo, incluyendo, por supuesto, nuevos bucles
“while”.
ANGIE LICETH PINILLOS RODGER
INGENIERA ELECTRÓNICA 1
ESPECIALISTA EN PEDAGOGÍA PARA EL DESARROLLO DEL APRENDIZAJE AUTÓNOMO
while, do/while

Ejemplo 1: En el siguiente ejemplo de muestra, se puede observar cómo


en el “Serial monitor” los primeros 50 mensajes que aparecerán
indicarán que la variable es menor de 50 porque se está ejecutando el
interior del “while”. Pero en el momento que la variable sea mayor
(porque en cada iteración del bucle se le va aumentando en una
unidad su valor), la condición del “while” dejará de ser cierta y saltará
de allí, mostrando entonces el mensaje (ya de forma infinita) de que la
variable es mayor que 50:

Ejemplo 2: Una aplicación práctica del bucle “while” es el poder recibir


a través del canal serie (u otro sistema de comunicación diferente)
varios caracteres seguidos uno tras otro, e irlos concatenando (por
ejemplo, mediante la función unacadena.concat()), para lograr así
generar y reconocer palabras y frases enteras. Esto nos puede venir muy
bien para comunicarnos con nuestra placa Arduino mediante
comandos completos en vez de tan solo con simples caracteres, de tal
forma que podamos construir un lenguaje de control propio (incluso con
parámetros).

ANGIE LICETH PINILLOS RODGER


INGENIERA ELECTRÓNICA 2
ESPECIALISTA EN PEDAGOGÍA PARA EL DESARROLLO DEL APRENDIZAJE AUTÓNOMO
while, do/while

Otra aplicación práctica del bucle “while” es la eliminación de los datos


en el buffer de entrada del chip TTL-UART que no queramos, de manera
que se quede este limpio de “basura”. Esto lo podríamos hacer
simplemente así:

ANGIE LICETH PINILLOS RODGER


INGENIERA ELECTRÓNICA 3
ESPECIALISTA EN PEDAGOGÍA PARA EL DESARROLLO DEL APRENDIZAJE AUTÓNOMO
while, do/while

El Bloque do
El bloque “do” tiene la siguiente sintaxis:

El bucle “do” funciona exactamente igual que el bucle “while”, con la


excepción de que la condición es evaluada después de ejecutar las
instrucciones escritas dentro de las llaves. Esto hace que las instrucciones
siempre sean ejecutadas como mínimo una vez aun cuando la
condición sea falsa, porque antes de llegar a comprobar esta, las
instrucciones ya han sido leídas (a diferencia del bucle “while”, donde si
la condición ya de entrada era falsa las instrucciones no se ejecutaban
nunca).

ANGIE LICETH PINILLOS RODGER


INGENIERA ELECTRÓNICA 4
ESPECIALISTA EN PEDAGOGÍA PARA EL DESARROLLO DEL APRENDIZAJE AUTÓNOMO

También podría gustarte