Python

Estructuras de control

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.

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++

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++

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++

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++

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++

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++

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.


Ethical hack

Fuente Imágenes

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

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.

Estructuras de control by Roberto C. González is licensed under a Creative Commons Reconocimiento-NoComercial-CompartirIgual 4.0 Internacional License.
eHack Blog

Entradas recientes

dnsenum

El comando dnsenum es una herramienta de línea de comandos para realizar enumeración de DNS…

1 año hace

Las 24 listas negras de IPv4 más comunes.

En esta entrada te presento 24 de las listas negras más comunes que los servidores…

2 años hace

ZoomIt – SysInternals

ZoomIt es una herramienta de anotación y zoom de pantalla para presentaciones técnicas que incluyen…

2 años hace

WinObj – SysInternals

WinObj es el visor de espacios de nombres de Object Manager definitivo. Es la primera…

2 años hace

WhoIs – SysInternals

Whois realiza el registro de registro para el nombre de dominio o la dirección IP…

2 años hace

VolumeID – SysInternals

VolumeID – Esta utilidad, le permite cambiar los identificadores de los discos FAT y NTFS…

2 años hace