Tipo: Conjunto de valores que a variável pode assumir
type dia =
(seg, ter, qua, qui, sex, sab, dom);
var d: dia;
begin
d := seg;Subrange:
type mes: 1..12;
letra: 'a'..'z';
diautil: seg..sex;Vantagens:
type t: array[mes] of letra;
var v1: t;
v2: array [diautil] of t;
begin
v1[12] := 'a';
v2[seg, 1] := 'b';Record:
type aluno: record
numero: integer;
nota: array[1..3] of real;
conceito: 'A'..'E';
end;
var a: aluno;
begin
a.conceito := 'C';
type cores = (verde, vermelho, amarelo);
cor = set of cores;
var c1, c2, c3: cor;
c: cores;
b: boolean;
begin
c1 := [vermelho];
c2 := [];
c3 := c1 + c2;
c := verde;
b := c in c3;
{ Contagem de letras em um arquivo }
program frequencia;
var c: char;
f: array ['a'..'z'] of integer;
letras: set of 'a'..'z';
begin
letras := ['a'..'z'];
for c := 'a' to 'z' do f[c] := 0;
while not eof do begin
read(c);
if c in letras then begin
f[c] := f[c]+1;
end;
end;
for c := 'a' to 'z' do
writeln(c, f[c]);
end.