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:
3.2 Estructura de
Selección Simple SI
La estructura de selección simple permite ejecutar una acción o un
grupo de acciones sólo si se cumple una determinada condición. Así, en
el gráfico 3.1, si la condición es verdadera se ejecuta la acción
acciona; en caso contrario, no se hace nada.
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
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.
3.3 Estructura de
Selección Doble SI - SINO
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"
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.
Diagrama de Flujo
|
Pseudocódigo ( Forma 1 )
SI( condicion1 )
accion1
SINO
SI( condicion2 )
accion2
SINO
SI( condicion3 )
accion3
.
.
.
SINO
acciondefecto
Pseudocódigo ( Forma 2 )
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"
3.5 Estructura de Selección Múltiple SEGUN
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
selector
con 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.
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"