Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Duda: Como ingresar ecuaciones o funciones c++

Estas en el tema de Duda: Como ingresar ecuaciones o funciones c++ en el foro de C/C++ en Foros del Web. La idea es hacer un programa en el que el usuario pueda introducir desde el teclado cualquier tipo de ecuación, con variables, constantes, y ademas ...
  #1 (permalink)  
Antiguo 14/04/2013, 16:57
 
Fecha de Ingreso: abril-2013
Mensajes: 4
Antigüedad: 11 años
Puntos: 0
Exclamación Duda: Como ingresar ecuaciones o funciones c++

La idea es hacer un programa en el que el usuario pueda introducir desde el teclado cualquier tipo de ecuación, con variables, constantes, y ademas funciones trigonometricas...tengo ese problema pero no se me ocurre como.

El problema surge en como introducir funciones trigonometricas con polinomios y aemas de eso multiplicar por constantes(una ecuacion), ademas de que las variables que introduzco puedan ser reemplazadas por un valor que de el usuario, osea evaluar la funcion algo asi..
Ej:
Introducir
tan (x) - 2x=0
luego evaluar(con cualquier constante) f(1.2)=tan (1.2) - 2(1.2)
f(1.2)= lo que salga

En fin ese es mi problema, muchas gracias por su tiempo
  #2 (permalink)  
Antiguo 15/04/2013, 05:23
 
Fecha de Ingreso: julio-2012
Mensajes: 375
Antigüedad: 11 años, 10 meses
Puntos: 28
Respuesta: Duda: Como ingresar ecuaciones o funciones c++

Lo que se me ocurre, es que cree un vector con los simbolos que haya introducido el usuario con su valor.

El analizador sintáctico irá comprobando la expresión, si no es un número/operación. Comprobará si existe en el vector de simbolos, si es así lo modifica poniendo su valor.

Si no es así lanza un error de sintaxis.
  #3 (permalink)  
Antiguo 15/04/2013, 12:15
 
Fecha de Ingreso: abril-2010
Ubicación: Rosario
Mensajes: 1.850
Antigüedad: 14 años
Puntos: 228
Respuesta: Duda: Como ingresar ecuaciones o funciones c++

Para mi deberías tener un parser que te genere el AST (http://es.wikipedia.org/wiki/%C3%81r...axis_abstracta) de la ecuación que se ingreso.

Luego vas creando funciones que actúen sobre ese arbol.

Etiquetas: ecuaciones, funcion, funciones, int, programa, usuario, variable
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 21:42.