D
irección de
C
ómputo para la
D
ocencia
I
I
N
N
T
T
R
R
O
O
D
D
U
U
C
C
C
C
I
I
Ó
Ó
N
N
A
A
L
L
A
A
P
P
R
R
O
O
G
G
R
R
A
A
M
M
A
A
C
C
I
I
Ó
Ó
N
N
TEMA 2
ELEMENTOS DE LA
PROGRAMACIÓN
ESTRUCTURADA
Autor
I
I
N
N
T
T
R
R
O
O
D
D
U
U
C
C
C
C
I
I
Ó
Ó
N
N
A
A
L
L
A
A
P
P
R
R
O
O
G
G
R
R
A
A
M
M
A
A
C
C
I
I
Ó
Ó
N
N
Selección múltiple (switch o select - case)
Algunos lenguajes de programación tienen una estructura de control selectiva múltiple conocida como select –
case o switch – case. Es utilizada cuando hay que seleccionar entre más de dos alternativas como falso o
verdadero, sino mas bien de un rango de posibles valores resultantes de la evaluación de una expresión. Estos valores generalmente son discretos, como caracteres, números enteros, etc. (Aunque hay lenguajes como el Visual Basic y el VBA que permiten rangos de valores continuos como valores reales o de punto flotante).
Ejemplo:
Supongamos que desea hacer un algoritmo que le pida dos números reales por teclado y luego un carácter (+, -, *, /) para efectuar dicha operación entre esos dos números e imprimir el resultado por pantalla. El programa se repetirá hasta que el usuario de una N o un NO y terminará el programa, pero en caso contrario volverá a iniciar el proceso de preguntarnos dos nuevos números reales y una opción para calcular.
Inicio
Real num1, num2; Caracter opera; Cadena respuesta;
Escribe “Hace una operación (+, -, *. /) con
dos números reales leidos por teclado y muestra el resultado por pantalla” ; Repetir
Lee “Dame el primer número “, num1 ; Lee “Dame el segundo numero “, num2 ; Escribe “¿Qué operación desea hacer?
Introduzca el símbolo de la Operación a calcular : ‘+’ para Sumar
‘-‘ : Escribe “La resta de “, num1, “ - “ , num2 ,“ es igual a “ , (num1 - num2) ; break;
‘*‘ : Escribe “La multiplicación de “, num1, “ * “ , num2 ,“ es igual a “ , (num1 * num2) ; break;
‘/‘ : Escribe “La división de “, num1, “ / “ , num2 ,“ es igual a “ , (num1 / num2) ; break;
Sino : Escribe “¡Símbolo incorrecto! Solo son validos los símbolos ( +,- , * , / ) “ break;
FinCaso
Lee “¿Desea hacer otro cálculo ( S / N ) ? “, respuesta ;
Hasta (respuesta = “S” or respuesta = “SI” or respuesta = “s” or respuesta = “si” );
Escribe “Pulse cualquier tecla para continuar…”; llama obtencar( ) ;
Fin
Observe que hay que utilizar la palabra break para poder terminar cada uno de los casos o de lo contrario, se seguirá ejecutando el siguiente caso. Esta palabra reservada break es de uso en lenguajes como C / C++, Java, PHP, etc.
Inicio
“Hace una operación ( + , - , *. / ) con dos números reales leidos por teclado y muestra el resultado por pantalla”
Real num1, num2 Carácter opera Cadena respuesta
“Dame el primer número “,
“Dame el segundo
“¿Qué operación desea hacer?
Introduzca el símbolo de la Operación a calcular :
“De el simbolo
opera
“La suma de “, num1, “ + “ , num2 ,
“ es igual a “ , (num1 + num2)
“La resta de “, num1, “ - “ , num2 ,
“ es igual a “ , (num1 - num2)
“La multiplicación de “, num1, “ * “ , num2 , “ es igual a “ , (num1 *
num2)
“La división de “, num1, “ / “ , num2 ,
“ es igual a “ , (num1 / num2)
“¡Símbolo incorrecto! Solo son validos los
3-24. Diagrama de flujo del ejemplo de la calculadora con selección múltiple (switch o select - case) Formalizando, esta estructura de control selectiva múltiple conocida como select–case o switch–case es utilizada cuando Se evalúa la expresión (una expresión numérica, o una expresión que nos de un valor discreto como un carácter por ejemplo), según sea el resultado, si es el valor v1 ejecutan las sentencias 1, si es el valor v2 ejecutan las sentencias 2, etc. Si no es ningún caso se ejecutan las Sentencias N. (Vea la Figura 25)
respuesta = “S” or respuesta = “SI”
or
“Pulse cualquier tecla para Terminar… “
obtencar( )
Fin
NO SI
“¿Desea hacer otro cálculo ( S / N ) ? “ , respuesta