FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Como Introducir funciones matematicas por teclado?
Necesito realizar un programa que resuelva ecuaciones no lineales y para eso necesito que el usuario introduzca esas funciones y guardarlas en variables o algo parecido. Gracias de antemamo
Nota.- LAs funciones tiene que ser de varias variables ej: f = 2x+y-3z |
#2
|
|||
|
|||
Hola, fijate en Torry.net que hay algunos componentes para ecuaciones quizas alguno te solucione tu problema.
Si el usuario ingresa la formula por teclado, como tu dices, deberias guardarla en un String y luego tu Parserla para obtner las variables y demas cosas. Una idea no mas. Saludos. |
#3
|
|||
|
|||
Hace un tiempo yo hice un programa que hace eso... No llegó a ser componente todavía, pero yo te diría que las operaciones deberían ser:
a) que la escriba en un TEdit o un TMemo b) sacale todos los espacios en blanco y desglosalo separando por paréntesis y operandos y poné cada cosa en un TStrings c) verificá que cosa es un numero y que cosa es una variable y según que sean separa todo en otros 2 TStrings (uno para variables y otro para numeros) el usuario debería poner los valores de las variables en algun lado, p.ej un memo o algo así. d) Sustituyes las variables por sus valores y te queda una ecuación solo con numeros. Luego debes resolver esto que es otro rollo porque tienes que tener en cuenta la prioridad de los operandos, los paréntesis, etc, además de que si quieres darle la posibilidad de utilizar funciones debes diferenciar los parentesis que son de funciones (tipo sen()) de los comunes, ver que no ponga las variables con paréntesis que se abren "pegados" y te lo comas pensando que es una función (p. ej: Htj(57)), que después de los paréntesis no escriba signos de "*" o "/"... pero sí de "-", etc., etc., etc., etc., etc...... Es un lindo proyecto el que te propones pero te aseguro que el mejor lugar para hacer esto es la carcel, si tienes una larga condena . De otra forma mejor te bajas algun componente bueno de matemáticas (te recomiendo gastar unos 25 euros más o menos y te olvidas para siempre de estos problemas). Los freeware no son buenos, yo los bajé casi todos creo y abundan los errores groseros y las omisiones. Igual, suerte.... |
#4
|
|||
|
|||
Para hacer este tipo de programa busca información sobre conversión de expresiones en notación infija a postfija, ya teniendo tu expresión en postfijo (en una pila) es solo ir sacando los operandos y operadores e ir realizando las operaciones.
Saludos |
#5
|
||||
|
||||
resp
Mira fastreport y free report tienen unevaluador de expresiones muy bueno.
Pudes ver el fuente y eso te dara uanidea de como hacerlo. Yo en tucaso solo me lo copiaria y modificaria lo necesario para adaptarlo a mi sexsigencia. Por que lo que esta echo no se vuelve hacer. Solo se usa o se mejora. Por que para que reinventar la rueda lla sabemos que funciona
__________________
Todo se puede, que no exista la tecnología aun, es otra cosa. |
|
|
|