lunes, 29 de septiembre de 2014

DISEÑO Y REALIZACIÓN DE SERVICIOS DE PRESENTACIÓN EN ENTORNOS GRÁFICOS EJERCICIOS UT1

Ejercicios

1. Implementa la siguiente clase para representar complejos en forma biónica:
class CComplejo
{
  private:
  double real, imag;
  public:
  CComplejo();
  CComplejo(double r, double i);
  void asigna_real(double r);
  void asigna_imag(double i);
  double parte_real() const;
  double parte_imag() const;
  double modulo() const;
  double argumento() const;
  void suma(const CComplejo& a, const CComplejo& b);
  void resta(const CComplejo& a, const CComplejo& b);
};

y escribe una funci ́on calculadora(a,b)que reciba dos complejos
a y b (por referencia) y calcule e imprima su suma y su resta.


2. Repite el ejercicio anterior pero representando esta vez los complejos en forma polar:
class CComplejo
{
     Clases y objetos en C++
  private:
  double mdl, // modulo
  argumento; // argumento
  public:
  CComplejo();
  CComplejo(double r, double i);
  void asigna_real(double r);
  void asigna_imag(double i);
  double parte_real() const;
  double parte_imag() const;
  double modulo() const;
  double argumento() const;
  void suma(const CComplejo& a, const CComplejo& b);
  void resta(const CComplejo& a, const CComplejo& b);
};
Para realizar la conversion entre forma binomica y polar, puedes emplear las siguientes funciones de la biblioteca math.h:

double cos(double x);
double sin(double x);
double sqrt(double x);
double atan2(double y, double x);
La funcion atan2 calcula el arcotangente de y/x. Observa que el interfaz de la clase CComplejo no ha cambiado, por lo que el programa de prueba y la funcion calculadora(a,b)deben seguir funcionando sin realizar modificaci ́on alguna. En concreto, el constructor CComplejo(r,i)sigue recibiendo las partes real e imaginaria del complejo.


No hay comentarios:

Publicar un comentario