1. ESTRUCTURAS SECUENCIALES,
SELECTIVAS E ITERATIVAS
Preparado para el grupo de Informática Básica
Prof. María Zeballos
Resumen del libro Fundamentos de
programación (4ta-Edición)
Autor: Luis Joyanes Aguilar
2. Estructura selectiva switch
En la clase anterior se mencionó que las estructuras selectivas o
alternativas pueden ser: simples, dobles, multiples. Para ir poco a
poco se ejercitaron en el uso de la sentencia if, tanto simple como
doble y con anidación.
Hoy se estudia la sentencia selectiva multiple, que en C es switch.
Con switch también se controla si una sentencia o lista de sentencias
se ejecutan en función del cumplimiento o no de una condición.
Recuerde que las condiciones se especifican usando expresiones
lógicas.
3. Estructura selectiva switch
Con frecuencia —en la práctica— es necesario que existan más de dos
elecciones posibles.
Como saben, se pueden utilizar estructuras alternativas simples o dobles,
anidadas o en cascada; sin embargo, este método si el número de alternativas
es grande puede plantear serios problemas de escritura del algoritmo y
naturalmente de legibilidad.
4. Estructura selectiva switch
La estructura de decisión múltiple evaluará una expresión que podrá
tomar n valores distintos, 1, 2, 3, 4, ..., n. Según que elija uno de
estos valores en la condición, se realizará una de las n acciones, o lo
que es igual, el flujo del algoritmo seguirá un determinado camino
entre los n posibles.
5. Estructura selectiva switch
Observe la sintaxis de
switch en lenguaje C:
switch (expresión) {
case valor1:
sentencia1;
sentencia2;
…
break;
…
case valorN:
sentencia1;
sentencia2;
…
break;
. . .
default:
sentencia1;
sentencia2;
… } // fin de la sentencia
6. Estructura selectiva switch
La instrucción switch hace que se
seleccione un grupo de instrucciones
entre varios grupos disponibles. La
selección se basa en el valor de una
expresión que se incluye en la
instrucción switch.
La expresión debe devolver un valor
entero. Tenga en cuenta que
expresión también puede devolver un
tipo char, ya que los caracteres
individuales tienen valores enteros.
switch (expresión) {
case valor1:
sentencia1;
sentencia2;
…
break;
…
case valorN:
sentencia1;
sentencia2;
…
break;
. . .
default:
sentencia1;
sentencia2;
… } // fin de la sentencia
7. Estructura selectiva switch
valor1,…, valorN representan
expresiones constantes de valores
enteros. Normalmente, cada una de
estas expresiones se escribirá o bien
como constante entera o como
constante de carácter.
Cada instrucción individual que sigue a
las etiquetas case puede ser simple o
compuesta.
switch (expresión) {
case valor1:
sentencia1;
sentencia2;
…
break;
…
case valorN:
sentencia1;
sentencia2;
…
break;
. . .
default:
sentencia1;
sentencia2;
… } // fin de la sentencia
8. Estructura selectiva switch
Cuando se ejecuta la instrucción
switch, se evalúa la expresión y se
transfiere el control directamente al
grupo de sentencias cuya etiqueta case
tenga el mismo valor que el de
expresión. Si ninguno de los valores
de las etiquetas case coincide con el
valor de expresión, entonces se
transfiere el control a las sentencias de
la etiqueta default y luego se transfiere
el control directamente a la instrucción
que se encuentre a continuación de la
instrucción switch.
switch (expresión) {
case valor1:
sentencia1;
sentencia2;
…
break;
…
case valorN:
sentencia1;
sentencia2;
…
break;
. . .
default:
sentencia1;
sentencia2;
… } // fin de la sentencia
9. Estructura selectiva switch
La instrucción break se utiliza para
salir de la instrucción switch.
Observe que la instrucción break se
escribe sin contener ninguna otra
expresión o instrucción:
break;
switch (expresión) {
case valor1:
sentencia1;
sentencia2;
…
break;
…
case valorN:
sentencia1;
sentencia2;
…
break;
. . .
default:
sentencia1;
sentencia2;
… } // fin de la sentencia