DEFINITION MODULE Racional;

TYPE RACIONAL;

(* PRE: d<>0 *)
PROCEDURE Crear(n,d:INTEGER):RACIONAL;
PROCEDURE Destruir(VAR r:RACIONAL);

(* PRE: d<>0 *)
PROCEDURE Asignar(VAR r:RACIONAL; n,d:INTEGER);

PROCEDURE Numerador(r:RACIONAL):INTEGER;
PROCEDURE Denominador(r:RACIONAL):INTEGER;

TYPE TIPO_ERROR = <<a definir>>;
PROCEDURE Error():TIPO_ERROR;

END Racional.
