Estructuras de control

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 hs 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.

Estructura if
Estructura if

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.

Estructura if / else en C++
Estructura if / else en C++

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.

Estructura if / else anidada en C++
Estructura if / else anidada en C++

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.

Estructura while en C++
Estructura while en C++

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.

Estructura do / while en C++
Estructura do / while en C++

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.

Bucle for en C++
Bucle for en C++

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.

Estructura switch en C++
Estructura switch en C++

Las estructuras descritas anteriormente no indican como se implementan en C++, de hecho el conecepto son aplicables si importar el lenguaje, 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.


¿Deseas aprender BIEN Seguridad Informática “desde el principio”? 

Aplicación de medidas para la implantación de la L.O.P.D. en las empresas

Obtendrás información ampliada y más recursos en comparación con el material que ofrecemos de forma gratuita, y material adicional, visita https://ehack.mx/portfolio-view/material-de-estudio-ceh-online/ para más información o ecríbenos a ceh@ehack.mx

Ethical hack
Ethical hack

 Fuente Imágenes:

“Estructuras de control”: by Pixabay
“Todas las demás imágenes de esta sección”: by Nala Systems

Licencia Creative Commons
Estructuras de control por Roberto C. González se distribuye bajo una Licencia Creative Commons Atribución-NoComercial-CompartirIgual 4.0 Internacional.
Basada en una obra en http://ehack.info/cpp01/.
Permisos que vayan más allá de lo cubierto por esta licencia pueden encontrarse en https://about.me/carlosgbr.
Comentarios de Facebook

Leave a Reply

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.