+ Formato
case selector of
lista de constantes 1: sentencia 1;
lista de constantes 2: sentencia 2;
.
.
.
lista de constantes n: sentencia n;
[else
sentencia x]
end;
+ Reglas
1.- La expresión selector se evalúa y se compara con las listas de constantes; Las listas de constantes son listas de uno o más valores de selector separados por comas. Sólo se ejecuta una sentencia. Si el valor del selector esta en lista constantes 1, se ejecuta sentencia 1. El control se pasa seguidamente a la primera sentencia a continuación de end. Cada sentencia puede ser a su vez una sentencia Pascal simple o compuesta.
2.- La claúsula else es opcional como en la sentencia if.
3.- Si el valor del selector no está comprendido en ninguna lista de constantes y no existe la claúsula else, no sucede nada y sigue el flujo del programa; Si el valor del selector no coincide con alguna constante, se ejecuta (n) la(s) sentencia(s) a continuación de la claúsula else.
4.- El selector debe ser de tipo ordinal (integer, char, boolean, enumerado). Los números reales no pueden ser utilizados ya que que no son ordinales. Los valores ordinales de los límites inferiores y superiores deben estar dentro del rango -32786 a 32767. Por lo tanto los tipos string, longint y word no son válidos.
5.- Todas las constantes case deben ser únicas y de un tipo ordinal compatible con el tipo de selector.
6.- Cada sentencia, excepto la última, deben ir seguidas de punto y coma.
+ Diagrama de Sintaxis Case
+ Ejemplos:
WriteLn ('Introduzca un valor');
ReadLn (Valor)
case valor of
'+': Resultado:=Resultado + 5;
'-': Resultado:=Resultado - 5;
'*': Resultado:=Resultado * 5;
'/': Resultado:=Resultado / 5;
end;
case Caracter_Leido of
'0' ... '9' : Write ('cifra');
'a' ... 'z' : Write ('Minuscula´');
'A' ... 'Z' : Write ('Mayuscula');
end;
case Caracter OF
'a', 'e', 'i', 'o', 'u' : Write ('es vocal');
else
Write ('es otro caracter')
end;
+Sentencias if anidadas VS sentencias case
1.- Se pueden utilizar sentencias if anidadas, en lugar de la sentencia case para realizar una decisión de alternativa multiple. La sentencia case, es más legible y práctica.
2.- Los programas deben presentar con mucha frecuencia menís, donde se presentan al usuario opciones entre las cuales debe elegir una, en estos casos la sentencia case resulta de gran utilidad.
EJERCICIO
Hacer un programa que presente un menú en donde las opciones representen a la operacion suma, resta, mult y división y acepte valores para realizar cada una de ellas.
No hay comentarios:
Publicar un comentario