|
10.6 Set
Define o conceito de conjunto, cujos elementos
são de um determinado tipo.
Diagrama Sintático
Onde tipo só
pode ser tipo simples
Ex.:
Type pedra
= 1..90;
saco = Set
of pedra;
Var
bingo: saco;
Type
cor = (vermelho,azul,verde);
Var
cores: Set
of cor;
Conjuntos possíveis:
[] vazio
[vermelho],[verde],[azul]
3 de 1
[vermelho, verde],[vermelho, azul],[verde,
azul] 3 de 2
[vermelho, azul, verde]
1 de 1
Para referenciar um conjunto de valores,
incluem-se os elementos entre colchetes e separados por vírgulas.
Ex.:
[1,2,8,10]
['t', 'm', 'i']
[alpha,beta+2,delta]
[1..10]
['a' .. 'l']
['a'..'l','+','-','0'..'9']
Operações no tipo Set
Sendo: A,B variáveis do tipo
set
e é
um elemento de um set
E é
uma expressão do tipo set
temos:
A:= E {atribuição}
A + B {união}
A * B {interseção}
A - B {diferença}
e in A {pertinência}
A <> B {desigualdade}
A = B {igualdade}
A <= B {True
se A estiver contido em B}
A >= B {True
se A contiver B} |
Ex.:
Var
ch: char; |
Begin
If
(ch='a') or (ch='b') or
(ch='c')
or (ch='d') or
(ch='z')
Then
S;
End. |
=
|
Begin
If
ch in ['a'..'d','z']
Then
S;
End. |
Ex.:
Type
primarias = (vermelho,
amarelo, azul);
cor = Set
of primarias;
Var
cor1,cor2: cor;
vogais, consoantes, letras,
olhos_possiveis: Set of char;
codigo: Set
of 0..7;
olhos: char;
contido: boolean;
Begin
cor1:= [vermelho];
cor2:= [];
letras:= ['A'..'Z'];
vogais:= ['A','E','I','O','U'];
consoantes:= letras - vogais;
codigo:= [0,1,2,3];
contido:= [2,3];
<= codigo
olhos_possiveis:= ['C','V','P','A'];
If
olhos in olhos_possiveis
Then...
...
End. |
|