Hasta el momento hemos revisado conceptos que si bien son fundamentales, para efectos prácticos nos limitan demasiado en lo que podemos hacer, por ejemplo en el programa de cálculo de IMC, no podemos elegir si queremos hacer otro cálculo, o por ejemplo validar una estatura coherente, no deberíamos aceptar, por ejemplo, un valor superior a 2.5 metros.
En este momento ya podemos elaborar un programa, por ejemplo que calcule el área de un cuadro, un triángulo y un círculo, ya podemos solicitar los datos en tiempo real y realizar el cálculo correspondiente, eso sí, debemos capturar la información de las 3 figuras para obtener sus respectivos resultados. Pero no podemos, por ejemplo indicar que solo calcule uno de los 3, una vez terminado, realizar otro cálculo, o bien finalizar el programa.
Para realizar este tipo de tareas los lenguajes de programación definen lo que se denomina Estructuras de Control, en este caso el control es sobre el flujo del programa (la forma en que “avanza” la ejecución). En muchos sitios verás se utilizan los términos: Bucles, Condicionales u otros términos equivalentes para referirse a las Estructuras de Control.
C++ implementa las siguientes estructuras de control.
Si nunca has programado, antes de revisar en detalle cada estructura, resulta conveniente que te familiarices con el funcionamiento de cada estructura, para que tengas una visión global de las estructuras mencionas y se te facilite entender cuándo utilizar una y cuándo otra.
La declaración if (si) es un condicional, que ejecuta una o una serie de instrucciones dependiendo si se cumple o no una condición.
Esta estructura se utiliza típicamente cuando se debe tomar una decisión, para ello se evalúa una condición que devuelve un resultado lógico (verdadero o falso). If siempre se ve ejecutar si la condición es verdadera, si la condición es falsa, if termina y continúa la ejecución del programa restante.
Esta declaración es una variante de if, la diferencia es que si la condición es verdadera, se ejecuta una rama del if, si es falsa, se ejecuta la otra. Es decir, siempre se ejecuta, una vez concluido el if / else, continúa la ejecución de instrucciones.
Además la sentencia if / else permite anidar otras declaraciones if / else, de modo que puedes evaluar dos o más condiciones dependiendo si una condición previa se cumple o no, puedes llegar a hacer instrucciones muy complejas anidando sentencias if / else, por lo que debes ser cuidadoso.
Este ciclo de control ejecutará de forma repetida un conjunto de instrucciones mientras una condición sea verdadera.
La condición se evalúa al principio, por lo que existe la posibilidad de que el ciclo no se ejecute si la condición inicial es falsa. Este ciclo te permitiría por ejemplo capturar nombres, o elementos de una lista de forma continua hasta que se llegue a un límite por ejemplo o al escribir cierta palabra que indicara el deseo de terminar la ejecución de ese segmento del programa.
Es una variante de while, la diferencia es que este bucle garantiza que se ejecutará por lo menos una vez el código del ciclo, pues la validación de la condición se realiza al final, si la condición se cumple el ciclo seguirá ejecutándose.
Un ejemplo típico de un bucle do while podría ser la solicitud de una contraseña. Que mientras no se escriba la correcta solicitará indefinidamente la contraseña correcta. Se puede añadir un contador de modo que salga y termine si excedemos el número de intentos.
El bucle for ejecutará una serie de instrucciones mientras una condición, normalmente un contador, no detenga la ejecución del ciclo. Cada uno de los ciclos que se ejecutan también se les conoce como iteraciones, el bucle for es muy utilizado en el cálculo de fórmulas matemáticas o el recorrido de estructuras de datos.
Un bucle for, se inicializa, establece un incremento y una condición de paro, mientras está activo ejecutará las actividades que se han definido.
Esta estructura se utiliza normalmente cuando dependiendo de una opción se deba realizar una tarea, si bien utilizando estructuras if / else podría implementarse la funcionalidad de switch, switch es más claro y limpio de programar.
switch en general se utiliza para opciones que tienen función similar a los menús de opciones.
Las estructuras descritas anteriormente no indican como se implementan en C++, solo se hace referencia a ellas para que tengas un contexto de uso y sus características generales. En las siguientes secciones se desarrollará cada estructura de control.
Estructuras de control by Roberto C. González is licensed under a Creative Commons Reconocimiento-NoComercial-CompartirIgual 4.0 Internacional License.
El comando dnsenum es una herramienta de línea de comandos para realizar enumeración de DNS…
En esta entrada te presento 24 de las listas negras más comunes que los servidores…
ZoomIt es una herramienta de anotación y zoom de pantalla para presentaciones técnicas que incluyen…
WinObj es el visor de espacios de nombres de Object Manager definitivo. Es la primera…
Whois realiza el registro de registro para el nombre de dominio o la dirección IP…
VolumeID – Esta utilidad, le permite cambiar los identificadores de los discos FAT y NTFS…