Foros del Web » Programación para mayores de 30 ;) » Programación General »

Reconocer expresion

Estas en el tema de Reconocer expresion en el foro de Programación General en Foros del Web. Hola que tal!! Espero me pueden ayudar con este gran problema, En fin,para pronto necesito un programa que solicite cierta expresion matematica: Es decir Sen ...
  #1 (permalink)  
Antiguo 04/05/2009, 19:33
 
Fecha de Ingreso: noviembre-2007
Mensajes: 18
Antigüedad: 17 años
Puntos: 0
De acuerdo Reconocer expresion

Hola que tal!!

Espero me pueden ayudar con este gran problema,

En fin,para pronto necesito un programa que solicite cierta expresion matematica:

Es decir Sen x o e^x o un 3x^3+x^2


Y que yo pueda disponer de estas expresiones para evaluar ciertos numeros en la funcion, cosas asi, derivar,aplicar metodos, pero basicamente para evaluar en la funcion algun valor.

Los programas que conozco son php,javascript,c,c++ y visual basic,

Espero su pronta ayuda, cualquier respuesta es buena!!!!!!!

un Ejemplo seria el usuario mete: f(x)=x^2 y el programa evaluaria mmm el 2....lo que daria f(2)=4

Es un tanto problema con el uso de cadenas y cosas asi, la verdad no tengo idea de como empezar!!!
  #2 (permalink)  
Antiguo 07/05/2009, 10:30
 
Fecha de Ingreso: marzo-2005
Mensajes: 1.418
Antigüedad: 19 años, 8 meses
Puntos: 9
Respuesta: Reconocer expresion

Hace un tiempo realice un pequeño programa que utilizaba una sintaxis similar para evaluar expresiones de este tipo. Lo primero que te aconsejo que hagas es no tener en cuenta la variable x. Realiza un programa que te resuelva expresiones del tipo 2+(4*9)/8. Una vez que tenes resuelto este problema (que en realidad es el problema principal al que te vas a enfrentar) de alguna manera le pides al usuario que defina que variables van a ser validas en la expresion y que valor les quiere dar, luego reemplazas en la cadena de la expresion esta variable por el valor que le asigno el usuario. Aca te recomiendo que busques una sintaxis que sea facil de parsear para poder analizar que variables son validas.
Para resolver el problema de analizar una expresion matematica y reducirla hasta que esta se transforme en un solo numero (el resultado), te recomiendo que leas notacion posfija.
Otro modelo que podes seguir (pero que es basicamente lo mismo) tener una pila de operadores y otra pila de operandos. De acuerdo a si la expresion esta entre parentesis, a las reglas de precedencia de los operandos, si la funcion es de un solo operando, etc vas resolviendo estas pilas.
No es tarea facil. Pero es un tema muy interesante para que al menos valga el intento.

Te recomiendo que empieces a hacer algo de codigo y cuando te empieces a trabar en algun lado postees las dudas aca que seguramente alguien va a responderte.
Te paso mi e-mail por cualquier otra duda es [email protected].
Saludos.
__________________
Add, never Remove
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 23:05.