Modulo_complejo_interfaz
// Autor: Pablo Sánchez (p.sanchez@unican.es)
// http://personales.unican.es/sanchezbp
// Descripción: Interfaz en el lenguaje de pseudocódigo
// utilizado en EDA para el módulo Complejo,
// el cual representa a los números complejos.
INTERFAZ MODULO Complejo ES
EXPORTA Complejo;
FUNCION getReal(c : Complejo) : Real;
FUNCION setReal(REF c : Complejo, r : Real);
FUNCION getImaginaria(c : Complejo) : Real;
FUNCION setImaginaria(REF c : Complejo, i : Real);
FUNCION suma(c1 : Complejo, c2 : Complejo) : Complejo;
FUNCION resta(c1 : Complejo, c2 : Complejo) : Complejo;
FUNCION multiplica(c1 : Complejo, c2 : Complejo) : Complejo;
// Pre: En caso de que se divida por cero, el valor del
// resultado seria
FUNCION divide(c1 : Complejo, c2 : Complejo) : Complejo;
// Post: El real que se devuelve es siempre positivo
FUNCION modulo(c1 : Complejo) : Real;
// Post: El real que se devuelve es siempre positivo y tiene un valor
// comprendido entre 0 y 2*Pi
FUNCION argumento(c1 : Complejo) : Real;
FININTERFAZ