Ver Mensaje Individual
  #2  
Antiguo 20-02-2008
Avatar de Ivanzinho
[Ivanzinho] Ivanzinho is offline
Miembro Premium
 
Registrado: ene 2005
Ubicación: Galicia
Posts: 595
Reputación: 22
Ivanzinho Va por buen camino
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.
__________________
Si no lees esto no vivirás tranquilo
Non lle poñades chatas â obra namentras non se remata. O que pense que vai mal que traballe n’ela; hai sitio para todos. (Castelao)
Responder Con Cita