Los Select Case son una sentencia condicional opcional a los IF Then. Permitiendo evaluar que valor tiene por ejemplo una variable, una constante, el retorno de una función etc.
Para usar esta estructura condicional usamos la palabra reservada “Select“. Posteriormente la variable que se desea analizar. Ya para finalizar usamos un “End Select”.
Local nombreUsuario:String = Input("Escribe tu nombre :")
Select nombreUsuario
End Select
Entonces, en el cuerpo de los Select, establecemos mediante la palabra reservada “Case”, las posibles opciones de los valores que puede contener la variable.
Local nombreUsuario:String = Input("Escribe tu nombre :")
Select nombreUsuario
Case "John"
Print("Bienvenido administrador... Entrado al sistema...")
Case "Andrea"
Print("Bienvenido usuario... Entrado al sistema...")
End Select
Puede usar tantos case como lo crea conveniente, poniendo uno debajo del otro.
Además puede poner un valor por defecto que no coincida con cualquiera de los anteriores. Esto se hace mediante la implementación de la palabra reservada “Default”.
Local nombreUsuario:String = Input("Escribe tu nombre :")
Select nombreUsuario
Case "John"
Print("Bienvenido administrador... Entrado al sistema...")
Case "Andrea"
Print("Bienvenido usuario... Entrado al sistema...")
Default
Print ( "Usuario no autenticado" )
End Select
Lo que hace la palabra “Default” es evaluar que los “Case” al no cumplir la condición, es decir que la variable no tenga ni John ni Andrea, entonces dará una opción para mostrar que el usuario no existe para ingresar al sistema.
Anidamiento en programación
Algo para comprender, es el anidamiento. Este consiste en poner dentro de otras estructuras otras. Podemos pensar en el ejemplo anterior de acceso a un supuesto sistema. Entonces podemos meter Select Case dentro de estos mismos, o poner dentro de ellos IF y otras formas de estos métodos, a esto se llama anidamiento.
Local nombreUsuario:String = Input("Escribe tu nombre :")
Select nombreUsuario
Case "John"
Print("Bienvenido administrador... Entrado al sistema...")
Local pass:String = Input("Escribe tu clave de acceso:")
Select pass
Case "1500G"
Print("Clave de Acceso correcta... Cargando sistema")
Default
Print("Clave de acceso incorrecta"
End Select
Case "Andrea"
Print("Bienvenido usuario... Entrado al sistema...")
Default
Print ( "Usuario no autenticado" )
End Select
Como se puede observar, usamos un Select Case dentro de otro. Esto con el objetivo de evaluar la posible contraseña que se le pide al usuario administrador. En este punto se debe hacer lo mismo para el usuario Andrea, donde se puede usar tanto un Select como un IF. Sin embargo esto no suele ser muy práctico, pues estaríamos repitiendo código, entonces sería necesario pensar en automatizar el código, y esto lo podemos hacer mediante una función.
Local nombreUsuario:String = Input("Escribe tu nombre :")
Select nombreUsuario
Case "John"
Print("Bienvenido administrador...")
AccesoSistema()
Case "Andrea"
Print("Bienvenido usuario...")
AccesoSistema()
Default
Print ( "Usuario no autenticado" )
End Select
Function AccesoSistema(usuario:String)
Local clave:String = Input("Escribe la clave de acceso :"
If usuario = Andrea Then
if clave = "1500AX" Then
Print("Entrando al sistema " + usuario )
Else
Print( usuario + " Clave incorrecta, inténtelo de nuevo."
End If
Else If usuario = "John" Then
if clave = "1500AG" Then
Print("Entrando al sistema " + usuario )
Else
Print( usuario + " Clave incorrecta, inténtelo de nuevo."
End If
End If
End Function
El resultado es que donde ponemos llamamos la función AccesoSistema, se evalúa las posibles entradas al nuestro supuesto programa informático que pide nombre de usuario y contraseña.
Ya para finalizar, el uso de una función en este caso implica ver el anidamiento de los IF, sin embargo lo mas importante es que al partir nuestro programa con funciones, es mucho más fácil su lectura y su mantenimiento en el tiempo. Ya que si tenemos un error de código, es mas fácil y buscar esa función y corregir los por menores.
Deja una respuesta