Op básicas- Complejos c#



 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;
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);
            }
        }
}

1 comentario: