4.4.3. Conjuntos
También podemos crear y manipular conjuntos (sets). Un conjunto está formado por una serie de elementos de un tipo base, que debe ser un ordinal de no más de 256 valores posibles, como un "char", un "byte" o un enumerado.
Para construir un "set" utilizaremos los corchetes ( [ ] ), y dentro de ellos enumeramos los valores posibles, uno a uno, o bien como rangos de valores separados por ".." :
var letras: set of char; begin letras := ['a', 'b', 'c', 'd']; (* ... *) end.
Las operaciones que podemos realizar con conjuntos son:
Operac | Nombre |
+ | Unión |
- | Diferencia |
* | Intersección |
in | Pertenencia |
Así, un ejemplo que cree un conjunto a partir de dos subconjuntos y que compruebe si un cierto dato pertenece o no al conjunto, podría quedar así:
(* SET01.PAS, Ejemplo de conjuntos (Sets) *) (* Parte de CUPAS5, por Nacho Cabanes *) program Set01; var minusculasValidas, mayusculasValidas, letrasValidas: set of char; letra: char; begin minusculasValidas := ['a', 'b', 'c', 'd']; mayusculasValidas := ['F', 'H', 'K', 'M']; letrasValidas := minusculasValidas + mayusculasValidas; repeat writeLn( 'Introduce una letra...' ); readLn( letra ); if not (letra in letrasValidas) then writeLn('No aceptada!'); until letra in letrasValidas; end. (* Ejemplo de ejecucion: Introduce una letra... e No aceptada! Introduce una letra... t No aceptada! Introduce una letra... n No aceptada! Introduce una letra... m No aceptada! Introduce una letra... M *)
No hay comentarios:
Publicar un comentario