public static INumeroComplejo Potenciacion(INumeroComplejo radicando, int indice) { double moduloResultado = Math.Pow(radicando.GetFormaPolar().GetModulo(), indice); double argumentoResultado = radicando.GetFormaPolar().GetArgumento() * indice; return(new NumeroComplejoPolar(moduloResultado, argumentoResultado)); }
private void CalcularButton_Click(object sender, EventArgs e) { if (INumeroComplejo.Equals(operando1, null) || INumeroComplejo.Equals(operando2, null)) { resultadoLabel.Text = "Falta asignar algun operando, asignelo y vuelva a intentar"; } else { if (SumaButton.Checked) { //logica de la suma. en lo posible delegar todas las cuentas a un servicio asi queda limpia esta parte del codigo ? resultado = OperacionesService.Sumar(operando1, operando2); } if (RestaButton.Checked) { //resta resultado = OperacionesService.Resta(operando1, operando2); } if (MultiplicacionButton.Checked) { //multiplicacion resultado = OperacionesService.Multiplicar(operando1, operando2); } if (DivisionButton.Checked) { if (operando2.GetFormaPolar().GetModulo() != 0) { resultado = OperacionesService.Dividir(operando1, operando2); } else { resultadoLabel.Text = "No es posible dividir por cero"; return; } } resultadoLabel.Text = resultado.Show(); } }
public static List <INumeroComplejo> Radicacion(INumeroComplejo radicando, int indice) { List <INumeroComplejo> resultado = new List <INumeroComplejo>(); NumeroComplejoPolar operando = radicando.GetFormaPolar(); double moduloResultante = Math.Pow(operando.GetModulo(), 1 / (double)indice); //no hay funcion para hacer la raiz N de un numero, asi que hago la potencia a la 1/N double argumentoResultante = operando.GetArgumento() / indice; NumeroComplejoPolar nuevaRaiz = new NumeroComplejoPolar(moduloResultante, argumentoResultante); double variacionAngulo = 2 * Math.PI / indice; resultado.Add(nuevaRaiz); int i = 1; while (i < indice) { argumentoResultante += variacionAngulo; nuevaRaiz = new NumeroComplejoPolar(moduloResultante, argumentoResultante); resultado.Add(nuevaRaiz); i++; } return(resultado); }