2.3 Instrucción "SEGÚN"
Esta instrucción equivale a anidamientos de la condición "Si...Entonces", es decir selecciona entre varios casos posibles el que coincida con el valor obtenido por una variable o expresión, ignorando los demás casos, ejecutándose lo establecido para ello sin necesidad de establecer varias condiciones "Si...Entonces". En caso de que ninguna opción corresponda al valor tomado por la variable o expresión evaluada, el programa ejecutaría la instrucción "De Otro Modo", que sería la paralela a la instrucción "SiNo". Y al terminar, se ejecute la bifircación que se ejecute, el flujo de ejecución del programa pasa a la instrucción que sigue al "Fin Según".
Sintaxis:
Segun (expresión) Hacer
opción_1:
Instrucciones
opción_2:
Instrucciones
...
...
De Otro Modo:
Instrucciones
FinSegun
Esta estructura se utiliza mucho cuando en un programa se necesita mostrar al usuario un menú de opciones para elegir una, de tal forma que justo después de que el usuario introduzca la opción deseada, la instrucción "Según" derive el flujo de ejecución al camino correspondiente a esa opción.
Ejemplo:
Imaginemos que queremos mostrar el nombre de un triángulo según el número de lados iguales que posea, dato que se pedirá al usuario por teclado. Veamos cómo quedaría el programa:
![]() |
![]() |
Fuente propia | Fuente propia |

Para saber más
En muchos lenguajes la estructura "Según" lleva consigo el uso de una instrucción de ruptura (break) al final de cada bloque de instrucciones en cada bifurcación. El objetivo de esa instrucción de ruptura no es otro que el hacer saltar el flujo de ejecución de la estructura justo debajo del "FinSegun" al acabar la ejecución del bloque de instrucciones seleccionado. La sintaxis por tanto quedaría de este modo:
Segun (expresión) Hacer
opción_1:
Instrucciones
break
opción_2:
Instrucciones
break
...
...
De Otro Modo:
Instrucciones
FinSegun
De omitirse las sentencias "break", los bloques de instrucciones se ejecutarían uno tras otro sin distinguirse las bifurcaciones. Por ejemplo, si el "Según" entrara por la opción 2 y no hubiera sentencias "break" puestas, se ejecutaría primero el bloque de instrucciones de la opción 2, luego el bloque de instrucciones de la opción 3, luego el de la opción 4 y así hasta el último bloque de instrucciones. La función por tanto de la sentencia "break" será la de saltar hasta el final del "Según" cuando se ejecute el bloque de instrucciones adecuado.