Java - Expresiones algebraicas

   
Vista:

Expresiones algebraicas

Publicado por Francisco (2 intervenciones) el 17/03/2016 21:02:08
Hola.

Tratare de ser breve y claro para no confundir.
Quiero construir un programa en java, que evalue una expresión algebraica introducida por el usuario ejemplo:
y=5x+9 ó y=5*4/2
Es decir, con variable "x" y constantes, los operadores serían unicamente suma resta multiplicacion y división.
una vez ingresada la expresión el programa debe pedir el valor de la variable x y calcular el valor de "y"
El programa sera en modo consola.

Como he pensado hacerlo?:
1.-Recibir la expresión que ingresa el usuario con Scanner
2.- Guardar la expresión en una cadena
3.- Recorrer la cadena con un siclo para saber donde hay operadores y donde hay numeros usando el metodo CharAt.

Lo que no se como hacer es como ordenar los caracteres para mandar los numeros a una variable y luego aplicar las operaciones con el numero que aparezca despues y antes de los operadores. no se si usar Pilas o Arboles binarios.
Si alguien puede ayudarme a hacer un borrador de eso se los agradeceria.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Expresiones algebraicas

Publicado por arck (145 intervenciones) el 18/03/2016 09:41:41
Es mas complicado de lo que parece.

Entiendo que partimos de unas ecuaciones simples. Y siempre estará despejada la x o la y.

Yo me crearía una variable clase con un constructor con string, dentro analizas y generas, la clase con su X y las otras dos variables la de la Y y el numero suelto (constantes, prefiero separarlo antes de que te confundas con una constante de java).
Recuerda que tienes que guardar también los signos y todo, que eso debería quedar en otra variable

Después una función que dada la Y saque el valor de la X.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Expresiones algebraicas

Publicado por Tom (910 intervenciones) el 18/03/2016 11:19:24
Estoy de acuerdo en que es más complicado de lo que parece.

Yo usaría antlr (o algo similar):

http://www.antlr.org/
https://javacc.java.net/
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Expresiones algebraicas

Publicado por Francisco (2 intervenciones) el 18/03/2016 19:26:05
Estoy leeyendo algo de esto, parece ser justo lo que necesito pero, como implementarlo, como construir y llenar una arbol binario

pag. 21

http://www.lcc.uma.es/~galvez/ftp/tad/tadtema4.pdf
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar