DEFINITION MODULE Bolsa;
FROM TadItem IMPORT ITEM;

TYPE BOLSA;

PROCEDURE Crear():BOLSA;
PROCEDURE Destruir(VAR b:BOLSA);

PROCEDURE EsVacia(b:BOLSA):BOOLEAN;
PROCEDURE Esta(b:BOLSA; x:ITEM):BOOLEAN;
PROCEDURE Cardinal(b:BOLSA):CARDINAL;
PROCEDURE Pluralidad(b:BOLSA; x:ITEM):CARDINAL;

PROCEDURE Incluir(VAR b:BOLSA; x:ITEM);
(* Pre: Pluralidad(x)>0 *)
PROCEDURE Excluir(VAR b:BOLSA; x:ITEM);

PROCEDURE Copiar(VAR b1:BOLSA; b2:BOLSA);

PROCEDURE Inicializar(b:BOLSA);
PROCEDURE Elemento(b:BOLSA):ITEM;

TYPE TIPO_ERROR = <<a definir>>;

PROCEDURE Error():TIPO_ERROR;

END Bolsa.
