La selección encadenada (también llamada anidada) es una extensión natural de la selección doble. Se utiliza cuando necesitamos evaluar más de dos alternativas posibles.
En términos simples:
“Si ocurre A, hago esto; si no ocurre A pero ocurre B, hago esto otro; si no ocurre ni A ni B pero ocurre C, hago aquello… y así sucesivamente.”
Este tipo de estructura se implementa escribiendo varios sino seguidos de nuevos si, formando una cadena lógica de decisiones.
¿Para qué se usa?
La selección encadenada es útil cuando:
-
Hay múltiples condiciones excluyentes.
-
Solo una de las condiciones puede cumplirse.
-
Cada alternativa requiere un comportamiento distinto.
Ejemplos típicos:
clasificar notas, verificar rangos, elegir opciones de menús, validar estados, etc.
Sintaxis general
Observación:
En SL no existe una palabra especial como sino_si; simplemente se encadena un sino seguido de un nuevo si.
Funcionamiento paso a paso
-
Se evalúa
condición1. -
Si es verdadera → se ejecuta su bloque y termina la estructura.
-
Si es falsa → se pasa a
condición2. -
Si
condición2es verdadera → se ejecuta su bloque. -
El proceso continúa así con todas las condiciones encadenadas.
-
Si ninguna se cumple → se ejecuta el bloque final del
sino.
En ningún caso se ejecutan más de uno de los bloques.
Ejemplo comentado
Clasifiquemos un número ingresado según su valor.
Explicación:
-
Si
n > 0, el programa imprime “positivo” y ahí termina la cadena. -
Si no es positivo, se evalúa si es negativo.
-
Si tampoco es negativo, entonces necesariamente es cero, y se ejecuta el bloque del
sino.
Otro ejemplo: clasificación de notas
Supongamos que queremos clasificar un puntaje del 1 al 100.
Detalles importantes:
-
Las condiciones están ordenadas desde la más restrictiva a la más general.
-
Una vez que se cumple una condición, las demás ya no se evalúan.
-
Esto evita contradicciones y simplifica la lógica.
Buenas prácticas
-
Ordena las condiciones de mayor a menor rango o según prioridad.
-
Mantén las condiciones claras y no redundantes.
-
Evita encadenar demasiados casos: si la lógica se vuelve muy larga, podría ser mejor usar funciones o estructuras más avanzadas según tu proyecto.
-
Siempre coloca un
sinofinal para manejar cualquier caso no contemplado.
Errores comunes
-
Escribir código entre un
sinoy unsi. Deben ir pegados. -
Olvidar llaves
{ }en cualquiera de los bloques. -
Hacer condiciones redundantes, por ejemplo:
sino si (nota >= 70 y nota < 90)→ ya está implícito si el caso anterior era>= 90. -
Mezclar tipos no compatibles en la condición.
Ejercicio práctico
-
Escribe un programa que lea la edad de una persona y muestre:
-
“Niño” si es menor de 12
-
“Adolescente” si está entre 12 y 17
-
“Adulto” si está entre 18 y 60
-
“Adulto mayor” si es mayor de 60
-
-
Modifica el programa para que, si la edad ingresada es negativa, imprima un mensaje de error con un
sinofinal.
No hay comentarios:
Publicar un comentario