Switch es un tipo de condicional de opción múltiple que se encarga de evaluar el valor de una variable para ejecutar un caso y bloque de sentencias en específico. Este tipo de condicional es común encontrarlos o utilizarlos en los menús.
Comienza evaluando el valor de la variable, este puede ser declarado o asignado desde teclado por el usuario, para después compararlo con el valor asignado a los casos. Los casos son parte elemental del switch; estos se pueden representar como cajones y la variable la llave para abrir un cajón en específico. Cada caso o cajón contiene sus elementos, que en este caso son las sentencias para ejecutar. También contiene la sentencia ‘break’; esta sentencia es la que va a dar fin al caso y seguir el algoritmo.
El algoritmo Switch tiene la siguiente estructura:
Su estructura es la siguiente:
Switch: ‘switch’ o ‘según’, palabra reservada que forma parte de la sintaxis de la condicional múltiple ‘switch’.
Condición o variable: aquí se introduce la variable a evaluar; la variable se introduce dentro de paréntesis.
Llaves {}: Las llaves determinan el inicio y final del switch, todo lo que se encuentre dentro de estas llaves se consideran parte de la condición múltiple
Case: ‘caso’ o ‘case’ es la palabra reservada que forma parte del ‘switch’ para referirnos a cada uno de los posibles casos. Seguido de esta palabra reservada, se pondrá un valor asignado, el cual es único y no se puede asignar para otro caso. Este valor, por lo general, es un entero (int) o un carácter (char).
Break: palabra reservada para indicar el final del caso y del switch, se utilizan al final del bloque de sentencias de cada caso, por lo que el break cumple con la función de salir o “quebrar” el switch y terminar.
Default: es la palabra reservada para el caso ‘por defecto’ o ‘default’ el cual se ejecutará en caso de que la variable no tome el valor esperado de los ‘casos’ o ‘case’ anteriores, es decir, si no se cumplen los otros casos se ejecutará el “default”. Comúnmente se utiliza para determinar que el valor de la variable evaluada está fuera del rango o de lo esperado por lo que arroja un mensaje de advertencia de ello.
Nota: default es el único caso que puede omitir el “break”, ya que es el caso que se ejecutará si solo si los otros casos no se cumplieron, por lo que es el último y por naturaleza el switch termina después de él.
Su diagrama de flujo es la siguiente:
A continuación, se muestra la prueba de escritorio. Esta tiene dos posibles vertientes.
Vertiente 1: La variable coincide con el valor de alguno de los casos
Como se mencionó al principio, el switch tiene una variable la cual se le pide al usuario ingresar su valor, este valor se escribe en la casilla de variable.
Posterior a ello, se empieza a comparar el valor de la variable con el valor de cada caso. La comparación iniciará desde el caso valor1 hasta el caso valorN. Si la variable no coincide con el valor del caso, entonces se marcará la casilla del caso como false.
Si una variable no coincide con el valor de un caso, entonces la casilla se marcará como false.
Si la variable llega a coincidir con el valor de algún caso, se marcará la casilla del caso como verdadero.
Se procede a ejecutar el bloque de sentencias que contiene el caso y se sale del switch.
Cuando el valor de la variable se haya comparado con el valor de cada caso y ninguno coincide, se procede a utilizar el caso default, este caso no compara ningún valor y tiene salida automática del switch.
Nota. Ejemplo de prueba de escritorio cuando no se cumple ningún caso y se ejecuta el “default” switch. Fuente: Elaboración propia.
¿Dudas o comentarios del video? Déjalas en el siguiente cuestionario o da clic aquí . Recuerda, todas las respuestas son anónimas.