C++

(C++ – 7) Estructuras de Control Selectivas en C++

En esta entrada veremos las estructuras de control selectivas en C++. Te recomiendo que primero veas esta entrada: Introducción a las Estructuras de Control Selectivas . Para que tengas una mejor idea de cómo funciona cada una de las estructuras de control. Es una entrada muy pequeña.

ESTRUCTURAS DE CONTROL SELECTIVAS EN C++

Existen 3 estructuras de control selectivas: simples, dobles y múltiples:

Estructura de control selectiva simple  ( Si … – if):

La estructura de control selectiva simple if (si) evaluará una expresión lógica, y en caso de que sea verdadero se realizará las instrucciones dentro de su bloque de instrucciones.

esquema_simple

Estructura de control selectiva doble(si… sino – if  else):

La estructura de control selectiva doble if – else ( si – sino) evaluará una expresión lógica y en caso de que sea verdadera se realizará las instrucciones dentro del primer bloque (bloque if), y en caso de que sea falso se realizarán las instrucciones dentro del segundo bloque (bloque else).

esquema_doble

 

Veamos un ejemplo:

ejemplo_numero_par
Este programa te dice si un número ingresado por consola es par o impar.

Es posible anidar las estructuras simples y dobles, es decir, se puede poner un if junto con un else. Veamos un programa de ejemplo:

ejemplo_anidado
En este caso, el programa identifica si un número es positivo, negativo o neutro (0). A diferencia del programa anterior donde sólo habían 2 posibilidades, en este caso hay 3 posibilidades.

Estructura de control selectiva múltiple (switch – case): 

Esta estructura de control trabaja con alguna variable, y según su valor realizará “x” caso.

esquema_switch
Switch solo trabaja con variables numéricas ENTERAS y caracteres.

Analizaremos mejor esta estructura:

  • variable : Solo puede ser numérica entera o un caracter (como indica en la imagen).
  • case : Caso, indica el valor que de ser igual que variable, se ejecutarán las acciones en ese caso. Las acciones empiezan en los dos puntos (:) y termina en la instrucción break.
  • break: Romper, sirve para finalizar un bucle o la estructura de control envolvente ( en este caso el switch ), es decir, una vez que se entre a uno de los case solo podrá finalizar cuando encuentre al primer break.
  • default: En caso de que ninguno de los case anteriores se haya cumplido, se ejecutarán las acciones de default. No es necesario que el switch contenga el default.

OJO: En caso de no poner la instrucción break; al finalizar el grupo de instrucciones de un case, se realizarán TODOS los grupos de instrucciones desde el case que entró hasta que encuentre un break o finalice todo el switch. Ejemplo:

switch_no_break

 

Si tenemos en cuenta los efectos de poner o no el break, podemos simplificar un poco el código según sea el caso. Por ejemplo:

ejemplo_swich
Este programa nos mostrará un mensaje en caso de que una letra ingresada sea o no una vocal. Dado que son 5 vocales y todas nos muestra el mismo mensaje podemos evitar el uso del break. Acá se muestra los 2 programas con y sin break.

Leave a comment