miércoles, 18 de mayo de 2016

Estructura, sintaxis y uso de un ciclo Do-While en C++

Los ciclos do-while son una estructura de control cíclica, los cuales permiten ejecutar una o varias líneas de código de forma repetitiva sin necesidad de tener un valor inicial e incluso no tener un valor, hasta aquí son similares a los ciclos while, sin embargo el ciclo do-while nos permite añadir una ventaja adicional, esta consiste en dar la posibilidad de ejecutar primero el bloque de instrucciones antes de evaluar la condición, por esta situación los ciclos do-while, son más efectivos para algunas situaciones.


¿Cómo funciona un Ciclo Do-While?


Para comprender mejor el funcionamiento del ciclo do-while, imaginemos que queremos pedirle a un usuario una serie de números cualquiera y que solo dejaremos de hacerlo cuando el usuario ingrese un número mayor a 100. Esto se puede hacer por medio de un ciclo do-while, estamos en la situación de no tener idea de cuándo al usuario se le va a ocurrir ingresar un número mayor que 100, pues es algo indeterminado para nosotros, sin embargo el do-while nos permite ejecutar cierta acción de forma infinita hasta que se cumpla alguna condición específica, en nuestro caso sería que el numero ingresado sea mayor a 100. De modo que si el usuario nos ingresa de manera sucesiva los siguientes numero 1,50,99, 49, 21, 30, 100 ..., nuestro programa no finalizara, pues ninguno de estos números es mayor que 100, sin embargo si nos ingresara el numero 300, el programa finalizaría inmediatamente.

Sintaxis del Ciclo Do-While:


La sintaxis de un ciclo do-while, de hecho con tan solo tener definida la condición de finalización tendremos prácticamente todo terminado.




Línea 1:

En esta línea la expresión no evalúa ninguna condición, simplemente da paso directo al bloque de instrucción y luego permite la evaluación de la condición.

Línea 2:

Llave abriendo "{" lo cual como sabemos indica que allí comienza un bloque de instrucciones que se ejecutaran cada vez que el ciclo de un "giro". Esta llave no es del todo obligatoria, sin embargo si no la ponemos solo se ejecutará dentro de nuestro ciclo la primera línea inmediatamente posterior a la instrucción do, de modo que si deseamos que se ejecuten varias líneas dentro de nuestro ciclo, debemos usar las llaves. En lo personal, es preferible poner siempre las llaves sin importar cuantas líneas se vayan a ejecutar, es una buena práctica de programación.

Línea 3 a 7:

Aquí estarán todas las operaciones que llevaremos a cabo de manera iterativa durante la ejecución del ciclo, este bloque podrá tener la cantidad de líneas necesarias.

Línea 8:

En esta línea se encuentra la llave cerrando "}", la cual indica el final del bloque de instrucciones ya debemos saber esta nos indica que allí termina el bloque de instrucciones que se ejecutarán de manera cíclica y se dará por terminada la ejecución de este para continuar ejecutando el resto del algoritmo.

Línea 9:

Se encuentra do-while, tiene la misma importancia y función que la linea 1, cabe resaltar que simplemente evalúa la condición y define si se cumple o no para seguir con la ejecución del ciclo o con la del resto del algoritmo, de este modo podemos ver que el ciclo while y el do-while son muy similares, con la pequeña diferencia en que en uno se evalúa la condición desde el principio y en la otra al final de cada ciclo.


Ejemplos de Ciclo Do-While en C++

Ejemplo 1: Pedir números por pantalla hasta que alguno sea mayor a 100
Vamos a retomar el ejemplo anterior, donde queremos hacer que nuestro programa le pida a un usuario una serie de números cualquiera y que solo dejaremos de hacerlo cuando el usuario ingrese un número mayor a 100, una vez mas es un ejemplo sencillo con el que nos aseguraremos de haber comprendido bien todos los conceptos anteriores, vamos a ver cómo hacer lo mismo con dos tipos de ciclos diferentes (el while y el do-while), sin embargo vamos a ver como con uno es más eficiente que con el otro:

Solución Ejemplo 1:

Para solucionar esto, debemos tener clara cuál va a ser la condición que se debe cumplir para que el ciclo este pidiendo el numero contantemente, el ciclo se va a detener solo cuando el numero ingresado sea mayor que 100, así que la condición para que se siga ejecutando es que el numero sea menor a 100, ¿Comprender la lógica?, es simple si para que se detenga el numero debe ser mayor a 100, entonces para seguirse ejecutando el numero debe ser menor o igual a 100, veámoslo entonces.



1 comentario: