Las estructuras de selección son estructuras de control utilizadas para la toma decisiones dentro de un programa. A estas estructuras se conocen también como estructuras selectivas o estructuras de decisión y son las siguientes:
- La estructura de selección simple (SI).
- La estructura de selección doble (SI-SINO).
- La estructura de selección múltiple (SEGUN)
Diagrama de Flujo | Pseudocódigo (acción simple)
SI( condicion )
acciona Pseudocódigo (acción compuesta)
SI( condicion ){
acciona1 acciona2 . . . accionan } |
Figura 3.1 Estructura de Selección Simple
Por ejemplo, si se desea cambiar el signo de un número únicamente en caso que sea negativo, podemos escribir:
SI( numero < 0 )
numero = -1 * numero
numero = -1 * numero
Si el número no es negativo, simplemente esta estructura se pasaría por alto y se continuaría en la siguiente instrucción después del SI.
La estructura de selección doble permite seleccionar una ruta de dos rutas posibles en base a la verdad o falsedad de una condición. Así, en la Figura 3.2, si la condición es verdadera, se ejecuta la acción A; en caso contrario, se ejecuta la acción B.En la Figura 3.2 se muestra el diagrama de flujo y el pseudocódigo de la estructura de selección doble.
Diagrama de Flujo | Pseudocódigo (acción simple)
SI( condicion )
acciona SINO accionb Pseudocódigo (acción compuesta)
SI( condicion ){
acciona1 acciona2 . . . accionan } SINO{ accionb1 accionb2 . . . accionbn } |
Figura 3.2 Estructura de Selección Doble
Por ejemplo, la siguiente estructura de selección doble determina si una persona es mayor o menor de edad:
SI( edad >= 18 )
estado = "Mayor de edad"
SINO
estado = "Menor de edad"
estado = "Mayor de edad"
SINO
estado = "Menor de edad"
Esto imprime "Mayor de edad" si la persona tiene 18 años ó más e imprime "Menor de edad" si la persona tiene menos de 18 años. En cualquiera de los casos, después de efectuar la impresión, se ejecutará la primera instrucción que sigue a la estructura SI...SINO.
Estructura de Selección Doble en Cascada SI-SINO-SI
La estructura de selección doble en cascada esta formada por varias estructuras de selección doble SI-SINO puestas una a continuación de otra de forma que a un SI-SINO le sigue otro SI-SINO.
En la estructura de selección doble en cascada, las condiciones se evalúan en orden descendente, pasando de una condición a otra si la condición anterior resulta falsa. En el momento que se encuentra una condición verdadera, se efectúa la acción correspondiente a dicha condición y se corta el resto de la estructura. Si todas las condiciones resultan falsas, se efectúa la acción correspondiente al último SINO, que se considera como la acción por defecto.
En la Figura 3.3 se muestra el diagrama de flujo y el pseudocódigo de la estructura de selección doble en cascada.
SI( n > 0 )
signo = "Positivo"
SINO
SI( n < 0 )
signo = "Negativo"
SINO
signo = "Cero"
Usando el otro formato tendríamos:
En la Figura 3.4 se muestra el diagrama de flujo y el pseudocódigo de la estructura de selección múltiple.
SEGUN(numeroEstacion){
CASO 1 : nombreEstacion = "Primavera"
CASO 2 : nombreEstacion = "Verano"
CASO 3 : nombreEstacion = "Otoño"
DEFECTO : nombreEstacion = "Invierno"
Estructura de Selección Doble en Cascada SI-SINO-SI
La estructura de selección doble en cascada esta formada por varias estructuras de selección doble SI-SINO puestas una a continuación de otra de forma que a un SI-SINO le sigue otro SI-SINO.
En la estructura de selección doble en cascada, las condiciones se evalúan en orden descendente, pasando de una condición a otra si la condición anterior resulta falsa. En el momento que se encuentra una condición verdadera, se efectúa la acción correspondiente a dicha condición y se corta el resto de la estructura. Si todas las condiciones resultan falsas, se efectúa la acción correspondiente al último SINO, que se considera como la acción por defecto.
En la Figura 3.3 se muestra el diagrama de flujo y el pseudocódigo de la estructura de selección doble en cascada.
Diagrama de Flujo | Pseudocódigo ( Forma 1 )
SI( condicion1 )
Pseudocódigo ( Forma 2 )accion1 SINO SI( condicion2 ) accion2 SINO SI( condicion3 ) accion3 . . . SINO acciondefecto
SI( condicion1 )
accion1 SINO SI( condicion2 ) accion2 SINO SI( condicion3 ) accion3 . . . SINO acciondefecto |
Figura 3.3 Estructura de Selección Doble en Cascada
Por ejemplo, la siguiente estructura de selección doble en cascada determina el signo de un número entre positivo, negativo o cero:SI( n > 0 )
signo = "Positivo"
SINO
SI( n < 0 )
signo = "Negativo"
SINO
signo = "Cero"
Usando el otro formato tendríamos:
SI( n > 0 )
signo = "Positivo"
SINO SI( n < 0 )
signo = "Negativo"
SINO
signo = "Cero"
La estructura de selección múltiple SEGUN permite elegir una ruta de entre varias rutas posibles, en base al valor de una variable que actúa como selector. La estructura compara el valor del selectorcon las constantes c1, c2, ..., cn en orden descendente. En el momento en que se encuentre una coincidencia, se ejecuta la acción correspondiente a dicha constante y se abandona la estructura.signo = "Positivo"
SINO SI( n < 0 )
signo = "Negativo"
SINO
signo = "Cero"
En la Figura 3.4 se muestra el diagrama de flujo y el pseudocódigo de la estructura de selección múltiple.
Diagrama de Flujo | Pseudocódigo
SEGUN( selector ){
CASO c1 : accion1 CASO c2 : accion2 CASO c3 : accion3 . . . CASO cn : accionn DEFECTO : acciondefecto } |
Figura 3.4 Estructura de Selección Múltiple
Por ejemplo, la siguiente estructura de selección múltiple determina el nombre de la estación del año conociendo el número de la estación (1 para Primavera, 2 para Verano, 3 para Otoño y 4 para Invierno) :SEGUN(numeroEstacion){
CASO 1 : nombreEstacion = "Primavera"
CASO 2 : nombreEstacion = "Verano"
CASO 3 : nombreEstacion = "Otoño"
DEFECTO : nombreEstacion = "Invierno"
No hay comentarios.:
Publicar un comentario