Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Switch

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 5

SWITCH (SELECCIÓN MULTIPLE)

Los condicionales Switch, son una estructura de control


condicional, que permite definir múltiples casos que puede llegar a
cumplir una variable cualquiera, y qué acción tomar en cualquiera
de estas situaciones, incluso es posible determinar qué acción
llevar a cabo en caso de no cumplir ninguna de las condiciones
dadas.

¿Cómo se utiliza el switch?


La mejor forma de entender el funcionamiento de algo, es viendo
un ejemplo de esto, de este modo, me parece que para
comprender de forma adecuada cómo funciona un condicional
Switch, es bueno hacerlo poniendo un ejemplo. Imaginemos
entonces que nuestro programa consta de un menú de opciones
digamos 3 opciones, cada una representada con un número
correspondiente, es decir la opción uno corresponde al número 1,
la dos al 2 y así sucesivamente, queremos entonces que de
acuerdo a un número ingresado por el usuario ejecutemos una
acción correspondiente y en caso de que no corresponda a
ninguna de las posibles opciones, mostrar un mensaje de error
cualquiera. De este modo, podemos identificar 3 casos distintos
para nuestro switch o en otras palabras, hemos identificado tres
condiciones posibles que puede llegar a cumplir nuestra variable:
el caso uno corresponde a que el valor ingresado por el usuario
sea el 1, es decir ejecutar la opción 1, el caso 2 el número 2, etc.
adicionalmente hemos encontrado la opción que se ejecutará por
defecto en caso de no suceder ninguno de estos casos, es decir si
el usuario ingresa por ejemplo 10, mostraremos un mensaje de
error cualquiera.
SINTAXIS DEL CONDICIONAL SWITCH
La sintaxis de un condicional Switch es bastante distinta a la de un
condicional típico sin embargo, es bastante intuitiva y fácil de
comprender, es solo cuestión de acostumbrarse. Veamos a
continuación la estructura general de un condicional Switch y
luego unos cuantos ejemplos.
Posteriormente veremos un ejemplo con valores reales.
Línea 1:
Aquí, tenemos la declaración del condicional switch, estamos
diciendo que lo que viene a continuación es esto, entre los
paréntesis, el switch recibe la variable que vamos a usar para
comparar en cada uno de los casos.
Línea 2:
En la línea 2 tenemos una llave abriendo "{" lo cual como hemos
visto en secciones anteriores, indica que allí comienzan los bloques
de instrucciones que se ejecutarán para cada caso.
definido un caso posible que puede cumplir nuestra variable, la
sintaxis es simple, usamos la instrucción "case" para indicar que allí
comienza un caso, luego indicamos el valor que puede tomar la
variable, puede ser un numero, una cadena de caracteres o lo que
necesitemos, de esto se siguen dos puntos ":" y después de estos
ponemos la o las instrucciones a ejecutar para este caso, como
ejemplo, podríamos tener algo como esto: case "Hola": cout <<
"Usted ha escrito Hola";.
Línea 4:
Esta línea contiene la instrucción break, es una instrucción simple,
pero fundamental al interior del condicional Switch, esta
instrucción indica que hasta allí va el bloque de instrucciones del
caso inmediatamente anterior a este, de este modo evitamos que
el algoritmo ejecute los demás casos, a modo de ejercicio, podrías
intentar ejecutar el algoritmo ejecute los demás casos, a modo de
ejercicio, podrías intentar ejecutar el código del ejemplo que
veremos más adelante y quitar las instrucciones break, con esto
podrás comprobar que si el usuario ingresa por ejemplo un 1, se
ejecutarán todos los casos, es por esto que el break es
fundamental.
Línea 5 a 8
Estas líneas contienen una repetición de las instrucciones de las
líneas 3 y 4, evidentemente cada una contiene un caso distinto, ten
en cuenta que se pueden definir todos los casos que sean
necesarios al interior del switch.
Líneas 9, 10 y 12
Estas líneas como deberías saber ya, contienen diferentes
comentarios aclarativos sobre el código, en caso de que no
comprendas adecuadamente estas líneas, te recomiendo visitar la
sección de comentarios.
Línea 11
Esta línea cambia un poco con respecto a las anteriores, sin
embargo, conserva la misma esencia, en vez de poner el comando
"case", usamos el comando "default", y luego los 2 puntos ":",
notemos que no se pone ningún valor a evaluar, pues esta es la
acción que se ejecuta en caso de que no lleguemos a entrar en
ninguno de los casos.
Línea 13:
En esta línea hacemos uso de la llave cerrando "}", una vez más
como seguramente ya sabrás esta nos indica que allí termina el
bloque del condicional y se dará por terminada la ejecución de este
para continuar ejecutando el resto del programa.
EJEMPLOS DE CONDICIONAL SWITCH
Ejemplo 1: Menú de opciones en C++
Vamos a retomar el ejemplo mencionado anteriormente al inicio de
la sección, en el cual suponíamos que el usuario nos ingresaba un
número correspondiente a una opción cualquiera y de acuerdo a
esto mostramos un mensaje y en caso de ingresar una opción
incorrecta, mostramos un mensaje de error.
Solución Ejemplo 1:
Primero, determinemos los casos a ejecutar, tenemos tres casos
posibles (suponiendo que nuestro menú está compuesto por 3
opciones) el caso 1 para la opción 1, el dos para la 2 y así
sucesivamente. Nuestro caso por defecto (default) sería el caso de
error, que sucede cuando no se ingresa alguna de las 3 opciones.

DETALLES DE LA CONDICIONAL SWITCH


 En C++, NO puedes usar otra cosa diferente a número en
cada case. Si necesitas comparar cadenas de texto u otros
tipos de datos, seguramente un condicional como el if o if-
else sean una mejor alternativa
 Los caracteres también se pueden usar, pues en esencia se
pueden representar como números enteros (el lenguaje se
encarga de eso por ti). Sin embargo, como indiqué, otros
tipos de datos no son recomendables
 La sentencia default es opcional, así que si no lo deseas no la
debes poner. Sin embargo, es recomendable hacerlo, para así
controlar todas las opciones posibles y que tu programa no
quede a la "suerte" en ciertos casos.
 Dentro de cada case eres libre de poner varias líneas de
código, incluso otras estructuras como condicionales o
ciclos. Sin embargo, es preferible mantener tu código
ordenado y no poner muchas. Recomendaría no poner más
de 5 y preferiblemente solo una. Si deseas hacer tareas
complejas al interior de un case de un switch en C++,
posiblemente sea mejor hacer esas tareas en una función y
llamar a esa función desde el case o simplemente usar un if-
else.
Los condicionales switch y de hecho todos los condicionales en
sí, son extremadamente útiles pues permiten definirle a nuestro
software múltiples vías de ejecución contemplando así todas las
posibilidades durante la ejecución. Me gustaría hacer una leve
aclaración, el condicional switch encuentra su utilidad al
momento de tener más de una posibilidad de valores para una
variable cualquiera, evidentemente si nuestra variable solo
puede adquirir un valor útil para nosotros, nuestra alternativa
inmediata debería ser un if o un if-else, no un switch que resulta
un poco mas engorroso de escribir, sin embargo cuando
tenemos varias posibilidades es mejor un switch que tener
condicionales anidados o un condicional después de otro.

https://www.programarya.com/
Cursos/C++/Condicionales/
Condicional-switch

https://sites.google.com/site/
consepcaracteristicasdelfpi/unidad-
ii-conceptos-procedimentales-del-
c/switch

También podría gustarte