DEFINITION MODULE Conjunto;
FROM TadItem IMPORT ITEM;

TYPE CONJUNTO;

PROCEDURE Crear():CONJUNTO;
PROCEDURE Destruir(VAR c:CONJUNTO);

PROCEDURE EsVacio(c:CONJUNTO):BOOLEAN;
PROCEDURE Cardinal(c:CONJUNTO):CARDINAL;
PROCEDURE Esta(c:CONJUNTO; i:ITEM):BOOLEAN;

PROCEDURE Incluir(VAR c:CONJUNTO; i:ITEM);
(* Pre: Esta(c,i) *)
PROCEDURE Excluir(VAR c:CONJUNTO; i:ITEM);

PROCEDURE Copiar(VAR c1:CONJUNTO; c2:CONJUNTO);

PROCEDURE Inicializar(c:CONJUNTO);
PROCEDURE Elemento(c:CONJUNTO):ITEM;

TYPE TIPO_ERROR = <<a definir>>;

PROCEDURE Error():TIPO_ERROR;

END Conjunto.
