Cita:
|
Empezado por rauros
Os refresco la memoria porque parece que el único que sigue en el instituto soy yo xD.
1er grado:
x - (3x + 90)/5 = x/3
Creo que x = 1350
|
Creo que al que hay que refrescar la memoria es a ti


.
Lo primero que debes hacer antes de programarlo es saber hacerlo en papel.
Para empezar se me ocurre que deberías analizar la expresión, introducida como un string, identificando cada uno de los operandos de la ecuación separados por + o -. En el ejemplo anterior sería
x,
-(3x + 90)/5 y
x/3 sabiendo en cada momento a que lado del igual se encuentra cada operando.
Expresiones como
-(3x + 90)/5 tendrás que descomponerlas hasta llegar a expresiones simples -
3x/5, -
18. En caso de que haya expresiones complejas dentro de otras expresiones complejas deberías utilizar recusividad.
El siguiente paso sería obtener todos los divisores (aqui tenemos
3 y
5) para hallar em
mínimo común múltiplo y eliminarlos. En este caso tendriamos como mínimo común múltiplo el 15.
Una vez calculado el mínimo común multiplo eliminaríamos los divisores, obteniendo una expresión más simple.
15x - 9x - 270 = 5x.
Ahora sólo faltaría calcular el factor que múltiplica la incognita y despejar.
Par el caso en que se tenga dos variables con dos ecuaciones el caso sería paracido a lo comentado anteriormente para despejar una de las variables y luego reemplazar en la otra ecuación para terminar haciendo exactamente los mismos pasos que en el caso anterior.
Ten en cuenta que esto es sólo una idea de como abordar el problema que se me ocurrio sobre la marcha, seguro que analizando se puede llegar a un método mucho mejor, pero para darte un enfoque de como resolver le problema creo que puede valer.
Un saúdo y espero que te sirva de ayuda.