FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
ayúdenme a programar una calculadora científica
hola amigos soy nuevo de paquete en este sitio XDXD
bueno soy un novato en esto de programación en delphi y espero que me ayuden. para mi primer programa lo que intento hacer es una calculadora científica que pueda calcular múltiples ejercicios como por ejemplo. 10-2*5 por el momento ya programe lo que es una calculadora básica que +,-,*,/(y+x) este es mi codigo. bueno espero que me den alguna ayuda o idea o consejo de como puedo hacer un algoritmo para que pueda programar una calculadora científica gracias. Última edición por ecfisa fecha: 29-06-2016 a las 06:54:22. Razón: Etiquetas [delphi][/delphi] |
#2
|
||||
|
||||
Bienvenido al club.
Antes de nada, te recomiendo que revises la guía de estilo de los foros. Estaría bien un título descriptivo en tu mensaje y algo más de concreción en tu pregunta, ya que es algo genérica. Imagino que el procedimiento/evento btn11Click es el que correspode a realizar el cálculo. Ese procedimiento lo has programado para trabajar con dos operadorandos y 1 operador, pero no te va a servir para más combinaciones (com la que necesitas), porque no puedes programar utilizando los IF todas las combinaciones posibles como has hecho ahí. Debes enfocar ese procedimiento a generar un evaluador de expresiones (o utilizar uno ya existente si te dejan). Si debes hacerlo tú, puedes pensar en un procedimiento similar a este:
Que te permita evaluar algo como lo que comentas: 10-(5-3)*5 (1) Separar los operandos y operadores (2) Evaluar los operando de forma individual por si son complejos del estilo a: (5-3) (3) De forma recursiva o iterativa volver a evaluar teniendo en cuenta las prioridades. Si tuvieras algo como esto: 10-(5-3)*5 Debes hacer por pasos: ----------------------- 10-(5-3)*5 ----------------------- Aplanar 10 - (5-3) * 5 ----------------------- Evaluar 10 - 2 * 5 ----------------------- Evaluar 10 - 10 ----------------------- Evaluar 0
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
#3
|
||||
|
||||
Después de toda esta parrafada, acabado de recordar que las versiones nuevas de Delphi traen un evaluador.
Si usas (creo) una versión posterior a la XE2, puedes utilizar el evaluador que viene con LiveBindings. En concreto en la Unit System.Bindings.EvalProtocol hay un método Evaluate (http://docwiki.embarcadero.com/Libra...nding.Evaluate) que permie evaluar una expresión. Antes tendrás que compilarla con un método Compile (http://docwiki.embarcadero.com/Libra...ession.Compile) que hay en System.Bindings.Evaluator. Si quieres ver un ejemplo de utilización, aquí tienes algunos: https://theroadtodelphi.com/2012/07/...ion-evaluator/ http://stackoverflow.com/questions/1...using-icompile
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
¿Se pueden programar apps para iOS sin saber programar? | nlsgarcia | La Taberna | 7 | 04-08-2014 11:09:36 |
calculadora cientifica | jose.ignacio.ve | Varios | 23 | 08-05-2013 16:35:03 |
Calculadora Cientifica Gráfica en Delphi, paradox y OpenGL | Apokalipsis | Varios | 5 | 26-01-2011 07:09:57 |
Ayudenme... | EveElgrande | Internet | 14 | 25-07-2006 21:54:27 |
Ayudenme a Aprender | Caray | Varios | 1 | 16-06-2006 03:31:52 |
|