#5 Re: El usuario del sistema escribe una ecuación
Originalmente publicado por
HeavenMight
Primero tendrias que plantear la ecuacion en todos sus pasos sin ingnorar ni el Mas minimo, luego tendrias que fijarte en tu ecuacion como la separaste en terminos, a partir de ellos, con
Mid( Variable , Desde donde (Integer osea numero ) , ( desde hasta cuantos lugares mas lee[integer ) )
ejmplo
A= "pepe jojo"
B = mid(A,4,6)
Print B // B = "e jojo"
El "10" osea la cantidad e pociciones es opcional , sino pondrias 10 como en este caso, lee hasta el final.
pero la idea es que con esa instruccion partieras la ecuacion por los teminnos y luego resolviras coda expresion por si sola, y luego.
Cuando te quede algo irreductible empieses a pasar los terminos, usando "Mid"
Para pasar de String a Integer-
A as String
B as Interger
A = "1234"
B = Val(A)
Tambien podes usar Int en vez de Val pero no te toma los decimales
Otra cosa, trata de usar Doble como Parametro para los Numeros, por que sino lo decimales te van a hacer la vida imposible
Muchas gracias por tu respuesta. Pero no me interesa tanto EVALUAR la corrección de la expresión escrita (si estuviera mal escrita le diré que hay un error), como SI me interesa que el sistema interprete como ecuación el string que el usuario escribió.
En definitiva, si el usuario escribe "2+4*X" yo necesito armar una ecuación dentro del programa Y=2+4*X y quedarme con el resultado de Y, conociendo X.
-----Agregado el 16/3/2009 a las 03 : 18 : 57-----
Originalmente publicado por
pangus
Usá el método Eval de un objeto ScriptControl.
No sé de qué se trata lo que me decís, pero lo voy a estudiar. Muchas gracias por tu ayuda.
-----Agregado el 16/3/2009 a las 03 : 19 : 56-----
Originalmente publicado por
megajandro
para mi tendrias que pensar en una maquina de estados para validar la expresion regular. Y si este llego a un estado final identificar cada uno de los valores posibles como variables, operadores, valores. Bueno si todos esto lo ubicas en un arbol no seria muy dificil luego calcularlo, recorriendo el arbol.
Muchas gracias por tu respuesta. Pero no me interesa EVALUAR la corrección de la expresión escrita (si estuviera mal escrita le diré que hay un error), como SI me interesa que el sistema interprete como ecuación el string que el usuario escribió.
En definitiva, si el usuario escribe "2+4*X" yo necesito armar una ecuación dentro del programa Y=2+4*X y quedarme con el resultado de Y, conociendo X.
-----Agregado el 16/3/2009 a las 03 : 32 : 37-----
Originalmente publicado por
pangus
Usá el método Eval de un objeto ScriptControl.
No encontré el objeto ScriptControl dentro de ninguna de las dll que se abren con el Visual Basic. Obviamente, tampoco en el help del Visual Basic 6. Me podés ayudar un poco más?