public Eulers() { Argumento = ArgDefecto; Potencia = new PotenciaEntera(Simbolo, Argumento); Contenido = Simbolo + Potencia.Simbolo + Argumento; Foco = SimboloExtendido + ArgDefecto + Cl; Coeficiente = "1"; Operar(); }
protected override void Operar() { Potencia = new PotenciaEntera(Foco); if (double.TryParse(Argumento, out number)) { Result = new PotenciaEntera(Valor, Argumento).Result; } else { Result = new ProductoEntero(Coeficiente, Potencia.Result).Result; } }
private static void TEST_Consola_Potencia() { string Entrada = "{{{{x}^{2x}}^{2}}^{3x}}"; Entrada = "sen<e^{x+2}>"; Entrada = "2^{sen<e^{x+2}>}"; Console.WriteLine($"ENTRADA = {Entrada}"); PotenciaEntera POTENCIA = new PotenciaEntera(Entrada); Console.WriteLine(POTENCIA.Nombre); Console.WriteLine(POTENCIA.Result); Console.WriteLine("----------------------------------"); Console.ReadKey(); }
public Derivadas(Monomios MONO, Variables Var) { if (!MONO.Result.Contains(Var.Nombre)) { Result = "0"; } else { List <string> DerivadasIndividuales = new List <string>(); foreach (var item in MONO.Elementos) { if (!item.Result.Contains(Var.Nombre)) { DerivadasIndividuales.Add(item.Result); } else { //PULIR BIEN SUMAS PARA QUE RETORNE LO NECESARIO POR ESTA CLASE string NewExponente = new SumaEntera(item.Exponente, "-1").Result; string NewCoeficiente = item.Exponente; string NewPotencia = new PotenciaEntera(item.Base, NewExponente).Result; DerivadaInterna = new ProductoEntero(NewCoeficiente, NewPotencia).Result; DerivadasIndividuales.Add(DerivadaInterna); } } Result = "1"; foreach (var item in DerivadasIndividuales) { Result = new ProductoEntero(Result, item).Result; } //Result = OperarSignos(Result); } }
//FIN MANEJO DE DATOS public string Procesar(string Expresion, string NombreVariable, string Operacion) { //IDENTIFICAR OPERACIONES A REALIZAR E IR ALMACENANDO PASOS (CUANDO AL INGRESAR POR UNA FUNCION RETORNE ALGO DIFERENTE AL INCICIAL Variables Var = new Variables(NombreVariable); Conexion.Open(); Funcion_id = DAL.SiguienteFuncion(); Resultado_id = DAL.SiguienteResultado(); Conexion.Close(); LPasos = new List <Pasos>(); Entrada = Expresion; Polinomio = new Polinomios(Entrada); CrearFuncion(Funcion_id, Polinomio.Nombre, Expresion); RegistrarPaso(Entrada, Polinomio.Result, Polinomio.Nombre); if (Operacion.Contains("Der")) { Derivada = new Derivadas(Polinomio, Var); RegistrarPaso(Polinomio.Result, Derivada.Result, Derivada.Nombre); Salida = Derivada.Result; CrearResultado(Resultado_id, Derivada.Nombre, Derivada.Result, Estado); //SE DEFINE EL RESULTADO } else if (Operacion.Contains("Simp")) { string Temp = ""; foreach (var mono in Polinomio.Elementos) { Op = new ProductoEntero(mono.Result); if (!Op.Result.Equals(mono.Result)) { CrearResultado(Resultado_id, Op.Nombre, Op.Result, Estado); RegistrarPaso(mono.Result, Op.Result, Op.Nombre); } Temp = Op.Result; Op = new PotenciaEntera(Op.Result); if (!Op.Equals(Temp)) { CrearResultado(Resultado_id, Op.Nombre, Op.Result, Estado); RegistrarPaso(mono.Result, Op.Result, Op.Nombre); } Temp = Op.Result; Op = new CocienteEntero(Op.Result); if (!Op.Equals(Temp)) { CrearResultado(Resultado_id, Op.Nombre, Op.Result, Estado); RegistrarPaso(mono.Result, Op.Result, Op.Nombre); } Temp = ""; } //SE DEFINE EL RESULTADO } //LISTOS ELEMENTOS NECESARIOS PARA GUARDAR REGISTROS return(Resultado.Contenido); }
protected override void ObtenerElementos(string Expresion) { Elementos.Clear(); //TENER EN CUENTA CUANDO NIVELES ES VACIO, ESTA SENTENCIA IF PARECE SOLUCIONARLO if (!Niveles.Contains("0")) { Elementos.Add(new PotenciaEntera(Contenido)); ObtenerPartes(); Result = Contenido; } else { char FirstNivel = Orden.ElementAt(Orden.Length - 1); string Foco; int Inicio, i, j, k; i = 0; Inicio = 0; bool Seguir; foreach (var nivel in Niveles) { ++i; Seguir = true; if (nivel.Equals(FirstNivel)) { j = 0; k = 0; while (Seguir) { if (Contenido.ElementAt(k).Equals(Simbolo)) { ++j; } if (j == i) { Seguir = false; } else { ++k; } } Foco = Contenido.Substring(Inicio, (k - Inicio)); Inicio = k + 1; Potencia = new PotenciaEntera(Foco); Elementos.Add(Potencia); } } //TOMA EL ULTIMO ELEMENTO Foco = Contenido.Substring(Inicio); Potencia = new PotenciaEntera(Foco); Elementos.Add(Potencia); //FIN DE TOMA ObtenerPartes(); //PULIR PRODUCTO PARA RESPONDER CORRECTAMENTE A ESTE PROBLEMA Operacion = new ProductoEntero(Coeficiente, ParteLiteral); Result = Operacion.Result; } }