El código contenido en la clase:
"Complejos" contiene las cuatro (4) operaciones básicas que son: suma
o adición, resta o sustracción, multiplicación o producto y división o
cociente; cada uno de los métodos empleados cuenta con al menos una excepción
que evitará que durante la ejecución del proyecto se generen errores
accidentalmente o como resultado del ingreso incorrecto de los datos solicitados
al usuario.
Método Adicion: Suma dos números complejos.
Método Sustraccion: Resta dos números complejos.
Método Multiplicación: Multiplica dos números complejos.
Método División: Divide dos números complejos entre sí.
A continuación podrás encontrar
el código de la clase Complejos, con cada uno de sus respectivos métodos:
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace calcu
{
class Complejo
{
private double real;
private double imag;
public Complejo()
{
real = 0.0;
imag = 0.0;
}
public Complejo(double real, double imag)
{
this.real = real;
this.imag = imag;
}
public static Complejo conjugado(Complejo c)
{
return new Complejo(c.real, -c.imag);
}
public static Complejo opuesto(Complejo c)
{
return new Complejo(-c.real, -c.imag);
}
public double modulo()
{
return Math.Sqrt(real * real + imag * imag);
}
/// <summary>
/// Metodo Adición:Encargado de recibir dos valores de números complejos y posteriormente sumarlos
/// </summary>
/// <param name="a">Primer número real a sumar</param>
/// <param name="b">Segundo número real a sumar</param>
/// <returns complejo>Resultado de la operación: Adicion de dos números reales</returns>
public static Complejo Adicion (Complejo c1, Complejo c2)
{
double x = c1.real + c2.real;
double y = c1.imag + c2.imag;
return new Complejo(x, y);
}
/// <summary>
/// Metodo Sustracción:Encargado de recibir dos valores de números complejos y posteriormente restarlos
/// </summary>
/// <param name="a">Primer número complejo a restar</param>
/// <param name="b">Segundo número complejo a restar</param>
/// <returns complejo>Resultado de la operación: Sustracción entre dos números complejos</returns>
public static Complejo Sustraccion(Complejo c1, Complejo c2)
{
double x = c1.real - c2.real;
double y = c1.imag - c2.imag;
return new Complejo(x, y);
}
/// <summary>
/// Metodo Multiplicacion: Encargado de recibir dos valores de números complejos y posteriormente multiplicarlos
/// </summary>
/// <param name="a">Primer número complejo a multiplicar</param>
/// <param name="b">Segundo número complejo a multiplicar</param>
/// <returns Complejo>Resultado de la operación: multiplicación de dos números complejos</returns>
public static Complejo Multiplicacion(Complejo c1, Complejo c2)
{
double x = c1.real * c2.real - c1.imag * c2.imag;
double y = c1.real * c2.imag + c1.imag * c2.real;
return new Complejo(x, y);
}
/// <summary>
/// Metodo División: Encargado de recibir dos valores de números complejos y posteriormente dividirlos
/// </summary>
/// <param name="a">Primer número complejo a multiplicar</param>
/// <param name="b">Segundo número complejo a multiplicar</param>
/// <returns complejo>Resultado de la operación: multiplicación de dos números complejos</returns>
public static Complejo Division(Complejo c1, Complejo c2){
double aux, x, y;
if(c2.modulo()==0.0){
throw new ArgumentNullException("El divisor no puede ser igual a cero");
}
else{
aux=c2.real* c2.real+c2.imag* c2.imag;
x=(c1.real* c2.real+c1.imag* c2.imag)/aux;
y=(c1.imag* c2.real-c1.real* c2.imag)/aux;
}
return new Complejo(x, y);
}
}
}
Me agrado tu modo en que lo explicas ;)
ResponderEliminar