La
estructura condicional permitía a lo
sumo elegir entre dos posibles caminos en la ejecución de un programa:
si la condición era cierta se ejecuta un bloque y si no se ejecuta
otro. Pero pueden existir casos en los que el programa deba tener más de
dos
alternativas, por ejemplo si queremos un programa que presente un título
en un idioma de cuatro posibles. Esto puede solucionarse mediante varios if
anidados, siguiendo el ejemplo tenemos que elegir entre idiomas: castellano,
ingles, francés y alemán.
......
if (leng == "castellano")
pagCast();
else
if (leng == "ingles")
pagIng();
else
if (leng == "frances")
pagFran();
else
if (leng == "alemán")
pagAlemt();
else
error('idioma
no presente');
Como vemos resulta un código bastante complejo. Para estos casos
disponemos de la sentencia switch...case...default,
o selección múltiple. El ejemplo anterior quedaría:
... ... ...
switch (idioma) {
case 'castellano' :
pagCast();
break;
case 'ingles' :
pagIng();
break;
case 'frances' :
pagFran();
break;
case 'alemán' :
pagAlem();
break;
default :
error
('Idioma no presente');
}
Durante la ejecución se compara la variable idioma
con cada uno de los posibles valores y cuando coincidan ejecuta el código
correspondiente. La instrucción break
pone fin al bloque y hace que el programa salte a la instrucción
siguiente a la sentencia switch(), si se
omite el programa continuaría
con la siguiente comparación. La sección de default
es opcional, su finalidad es ejecutar algún código cuando
ninguna de las condiciones se cumpla.
|