Bucle do
El bucle do, bucle hacer, hacer-mientras, repetir o también llamado ciclo do-while, es una estructura de control de la mayoría de los lenguajes de programación estructurados cuyo propósito es ejecutar un bloque de código y repetir la ejecución mientras se cumpla cierta condición expresada en la cláusula while. La diferencia con el bucle while radica en que este evalúa la condición al principio, y si esta no se cumple, el código que está encerrado dentro del cuerpo no se ejecuta. En cambio, el bucle do-while evalúa la condición para seguir ejecutándose luego de haber ejecutado el código dentro de su cuerpo; es decir, siempre se ejecuta por lo menos una vez el código.[1]
Sintaxis
editarLa sintaxis en pseudocódigo es la siguiente:
Condición
editarAl igual que en el bloque while, la condición de salida ha de ser una sentencia que devuelva un valor booleano, y esta puede ser el valor booleano sí, verdadero (true) si la condición se cumple, o falso si esta no se cumple (false). También puede contener el nombre de una variable booleana, y el valor de la expresión dependerá de su contenido. Se debe tener en cuenta que además de las variables también puede haber llamadas a funciones que devuelvan un valor.
Sentencias comparativas
editarLa forma más obvia tal vez, y la más usada sin duda, son las sentencias comparativas, que usan los operandos igual, diferente, menor o igual, mayor o igual, menor y mayor. En el caso del lenguaje C, se utilizan los siguientes símbolos para representar las comparaciones anteriores: ==, !=, <=, >=, <, >,
Suma 1 al valor de a (que inicialmente valía 3) mientras este sea menor o igual que b (que vale 5), lo que da como resultado 6 (nótese que, en la última ejecución del bucle, la variable a comienza valiendo 5, por lo que cumple la condición "mientras", y se le suma 1).
tarea { iguale a a 3 iguale b a 5 haga { copie a + 1 en a mientras a <= b { muestre a } }
Referencias
editar- ↑ Joyanes Aguilar, Luis (2013). Fundamentos generales de programación. Mc Graw Hill. p. 173. ISBN 978-607-15-0818-8.