Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 11-05-2005
Danny0085 Danny0085 is offline
Registrado
 
Registrado: may 2005
Posts: 1
Poder: 0
Danny0085 Va por buen camino
Thumbs up 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
Responder Con Cita
  #2  
Antiguo 12-05-2005
PeLuCa PeLuCa is offline
Miembro
 
Registrado: abr 2005
Posts: 20
Poder: 0
PeLuCa Va por buen camino
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.
Responder Con Cita
  #3  
Antiguo 20-05-2005
elcigarra elcigarra is offline
Miembro
 
Registrado: may 2005
Posts: 269
Poder: 19
elcigarra Va por buen camino
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....
Responder Con Cita
  #4  
Antiguo 20-05-2005
[maeyanes] maeyanes is offline
Capo de los Capos
 
Registrado: may 2003
Ubicación: Campeche, México
Posts: 2.732
Poder: 23
maeyanes Va por buen camino
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
Responder Con Cita
  #5  
Antiguo 24-05-2005
Avatar de rastafarey
rastafarey rastafarey is offline
Miembro
 
Registrado: nov 2003
Posts: 927
Poder: 21
rastafarey Va por buen camino
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.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 18:42:30.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi