Introducción
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.
Estructuras de control de C++
C++ implementa las siguientes estructuras de control.
- if
- if / else
- while
- do / while
- for
- switch
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.
if
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.
if /else
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.
while (mientras)
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.
do / while (haz / mientras)
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.
for (para)
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.
switch
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.
Si tienes alguna duda que no se responde en este documento, por favor plantea tu pregunta para poder responderte. O escribe directamente a soporte@ehack.mx
Referencias
- Por Roberto C. González para Ethical Hack
Fuente Imágenes
- «Estructuras de control»: by Pixabay
- «Todas las imágenes de esta sección»: by Nala Systems
Tutorial de C++ by eHack
- Volver al índice de temas del Tutorial de C++
- *** Durante todo este tutorial se repetirá: Este es un curso orientado a gente que nunca ha programado, incluso a gente ajena a la informática. Por esta razón el desarrollo puede parecer lento en ciertas etapas. Prefiero ser claro paso a paso, que hacer «pasos mágicos» como suele ocurrir cuando se enseña programación. *** También es buena idea leas esta entrada si te preguntas «Por qué C++»
Código Fuente
- El código fuente de toda la serie lo puedes descargar en nuestro repositorio en github busca los programas con el nombre del encabezado de cada programa.
- Código de esta sección
Estructuras de control, por Roberto C. González. Se distribuye bajo una Licencia Creative Commons Atribución-NoComercial-CompartirIgual 4.0 Internacional.
©2025, Ethical Hack, Todos los derechos reservados sobre el contenido propio.