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