//POTENCIA
        public NumeroComplejo Potencia(int potencia)
        {
            ComplejoPolar  numeroPolar   = this.ToPolar();                 //Convierto numero a polar
            NumeroComplejo potenciaPolar = numeroPolar.Potencia(potencia); //Envio calculo a forma polar

            return(potenciaPolar.ToBinomica());                            //Retorno en forma binomica
        }
        //RAICES PRIMITIVAS
        public NumeroComplejo[] RaicesPrimitivas(int indice)
        {
            NumeroComplejo[] raicesPrimitivas = new NumeroComplejo[indice];

            if (indice == 1)
            {
                raicesPrimitivas[0] = new ComplejoPolar(1, 0);
                return(raicesPrimitivas);
            }

            NumeroComplejo[] raicesNesimas = this.Raices_n_esimas(indice);//Obtengo las raices n-esimas

            //La raiz sub0 no es primitiva, no la agrego

            raicesPrimitivas[0] = raicesNesimas[1]; //La raiz sub 1 siempre es primitiva, la agrego
            int k = 2, i = 1;

            while (k < indice)       //Recorro las raices n-esimas y me quedo con las primitivas segun MCD
            {
                if (MCD(k, indice) == 1)
                {
                    raicesPrimitivas[i] = raicesNesimas[k];
                    i++;
                }
                k++;
            }
            return(raicesPrimitivas);
        }
Exemple #3
0
        // Realiza la operacion de sumar 2 numeros complejos y retorna el resultado
        static public NumeroComplejo operator +(NumeroComplejo n1, NumeroComplejo n2)
        {
            // Instancia un objeto de la clase con los valores de las sumas de los numeros compejos que recibe como argumentos
            NumeroComplejo num = new NumeroComplejo(n1.real + n2.real, n1.imag + n2.imag);

            return(num);
        }
        //MULTIPLICACION
        public NumeroComplejo Multiplicar(NumeroComplejo complejo)
        {
            ComplejoPolar complejoPolar = complejo.ToPolar();
            double        modulo        = this.modulo * complejoPolar.GetModulo();
            double        argumento     = this.argumento + complejoPolar.GetArgumento();

            return(new ComplejoPolar(modulo, argumento));
        }
        //DIVISION
        public NumeroComplejo Dividir(NumeroComplejo complejo)
        {
            ComplejoPolar complejoPolar = complejo.ToPolar();
            double        modulo        = this.modulo / complejoPolar.GetModulo();
            double        argumento     = this.argumento - complejoPolar.GetArgumento();

            return(new ComplejoPolar(modulo, argumento));
        }
        //SUMA
        public NumeroComplejo Sumar(NumeroComplejo complejo)
        {
            ComplejoBinomica complejoBinomica = complejo.ToBinomica();
            double           modulo           = complejoBinomica.GetReal() + this.real;
            double           argumento        = complejoBinomica.GetImaginaria() + this.imaginaria;

            return(new ComplejoBinomica(modulo, argumento));
        }
        //RESTA
        public NumeroComplejo Restar(NumeroComplejo complejo)
        {
            //Convierto ambos numeros a forma binomica
            ComplejoBinomica binomico1     = complejo.ToBinomica();
            ComplejoBinomica binomico2     = this.ToBinomica();
            NumeroComplejo   restaBinomica = binomico2.Restar(binomico1); //Resto en forma binomica

            return(restaBinomica.ToPolar());                              //Devulevo la suma convertida a polar
        }
        //SUMA
        public NumeroComplejo Sumar(NumeroComplejo complejo)
        {
            //Convierto ambos numero a forma binomica
            ComplejoBinomica binomico1    = complejo.ToBinomica();
            ComplejoBinomica binomico2    = this.ToBinomica();
            NumeroComplejo   sumaBinomica = binomico2.Sumar(binomico1); //Sumo en forma binomica

            return(sumaBinomica.ToPolar());                             //Devulevo la suma convertida a polar
        }
        //DIVISION
        public NumeroComplejo Dividir(NumeroComplejo complejo)
        {
            //Convierto ambos numeros a polar
            ComplejoPolar  polar1        = complejo.ToPolar();
            ComplejoPolar  polar2        = this.ToPolar();
            NumeroComplejo cocientePolar = polar2.Dividir(polar1); //Envio calculo a forma polar

            return(cocientePolar.ToBinomica());                    //Retorno en forma binomica
        }
Exemple #10
0
        //MULTIPLICACION
        public NumeroComplejo Multiplicar(NumeroComplejo complejo)
        {
            //Convierto ambos numeros a polar
            ComplejoPolar  polar1        = complejo.ToPolar();
            ComplejoPolar  polar2        = this.ToPolar();
            NumeroComplejo productoPolar = polar2.Multiplicar(polar1); //Envio calculo a forma polar

            return(productoPolar.ToBinomica());                        //Retorno en forma binomica
        }
Exemple #11
0
        private void buttonCalcular_Click(object sender, EventArgs e)
        {
            NumeroComplejo complejoCalculado = ObtenerPrimerComplejo().Dividir(ObtenerSegundoComplejo()).ToBinomica();

            if (comboBoxFormaResultado.SelectedIndex == 1)
            {
                complejoCalculado = complejoCalculado.ToPolar();
            }
            labelResultadoCalculado.Text = complejoCalculado.ToString();
        }
        //RAICES N-ESIMAS
        public NumeroComplejo[] Raices_n_esimas(int indice)
        {
            int k = 0;

            NumeroComplejo[] raicesComplejas = new NumeroComplejo[indice];

            while (k < indice)   //Calculo cada raiz y las agrego al array.
            {
                double modulo    = Math.Pow(this.modulo, Math.Pow(indice, -1));
                double argumento = (this.argumento + 2 * k * Math.PI) / indice;
                raicesComplejas[k] = new ComplejoPolar(modulo, argumento);
                k++;
            }

            return(raicesComplejas);
        }
Exemple #13
0
    static void Main(string[] args)
    {
        // Se instancian 2 numeros complejos
        NumeroComplejo numC1 = new NumeroComplejo(2, 9);
        NumeroComplejo numC2 = new NumeroComplejo(6, -4);
        // Se instancia el tercer numero complejo y se establece como valor el objeto retornado por la funcion de suma '+'
        NumeroComplejo numC3 = numC1 + numC2;

        // Nos muestra los 3 numeros complejos
        Console.WriteLine("Numero 1");
        numC1.Imprime();
        Console.WriteLine("Numero 2");
        numC2.Imprime();
        Console.WriteLine("Suma de numero 1 y numero 2");
        numC3.Imprime();
        Console.ReadKey();
    }