Evaluador Expresiones Aritmeticas V2 Java

28 06 2009

Debio a los comentarios de personas a las cuales les intereso el proyecto del evaluador de expresiones, decidi retomarlo y agregarle algunos aspectos para acelerar el proceso de evaluacion, tambien le he dado un cambio al aspecto de la ventana principal, esta vez tiene un aspecto mas agradable a la vista.

 

 

Una vez mas describire algunos aspectos de este programa, incluyendo las pasadas y actuales caracteristicas:

  • El programa esta escrito en Java, por lo que no hay ningun problema de compatibilidad con algun SO, siempre y cuando este tenga instalada su respectiva Maquina Virtual de Java (J2RE), les recomiendo la 1.5 o superior ya que algunas caracteristicas son particulares de estas versiones (el programa lo escribi en el JDK 1.6.0).
  • El programa evalua operandos con presicion float (ejemplo: 2*3, 2.342+3.98735, 34/0.25), los resultados que arroja son de presicion double.
  • La version anterior incluye un boton que se encarga de generar un archivo .asm que contiene codigo ensamblador, el cual se encarga de evaluar la misma expresion pero solo usando la pila del procesador, en esta version esta herramienta no se encuentra disponible por sugerencias de algunas personas, esta version esta enfocada a mejorar el algoritmo de evaluacion y no generar codigo en otros lenguajes.
  • Antes de evaluar cualquier expresion, está pasa por un analisis lexico, el cual detecta errores en la forma de escritura de la expresion informando al usuario; ejemplo de esto puede ser la introduccion de un caracter diferente a los que se requieren (algun caracter especial o alfabetico). Tambien se realiza un analisis gramatical para verificar la correcta gramatica de la expresion, ejemplo: que a cada parentesis de cierre le corresponda uno de apertura o que despues de un operandor (+,-,*,/,^,%) exista un operando (valor numerico).
  • El algoritmo de evaluacion no transforma la expresion en posfija o prefija, toma la expresion tal cual (infija) y crea un arbol tomando a los operadores de menor prioridad como raiz, quedando en las hojas los de mayor prioridad. El arbol se evalua de las hojas a la raiz, usando metodos recursivos para evaluarlo.
  • La prioridad para la evaluacion de las operaciones es la siguiente, de mayor a menor (),^, *,%,/,+,- .
  • Hablando un poco de la interfaz grafica, conserva los botones de limpiar expresion y limpiar historial, se escribe la expresion en su respectivo campo y al finalizar la escritura solo basta presionar <enter> para evaluarla, en el lado derecho se incluye un panel con botones que al presionarse agregan a la expresion el respectivo operador, en esta version se cambia el lookandfield por defecto (Metal) que la maquina virtual establece para sus aplicaciones swing, he usado una libreria que me encontre en la red, pero eso sera tema de otro post.

Puedes descargar el proyecto desde este enlace.

Sin mas por el momento les deseo un feliz dia o noche, 🙂

Se aceptan sugerencias y mejoras.


Acciones

Information

8 responses

8 07 2009
jorge

oe man excelnet tu proyecto me dejaron uno igual pero mi duda es como es que llenas el arbol para poder operarlo ya voy mas de 5 intentos y siempre ay uo que otro error porfa si me ayudaras te los agradeseria mucho
aber si me agrgas xion3892@hotmail.com

8 07 2009
jorge

o tambien a andres25sr@gmail.com

16 01 2010
milena

hola quisiera saber cuel es tu proyecto el que te mandaron en la escuela como se llama.

25 07 2009
Bitacoras.com

Información Bitacoras.com…

Valora en Bitacoras.com: Debio a los comentarios de personas a las cuales les intereso el proyecto del evaluador de expresiones, decidi retomarlo y agregarle algunos aspectos para acelerar el proceso de evaluacion, tambien le he dado un cambio al asp…..

5 08 2009
Giovani

O.O
He mirado programas que me han impresionado y la verdad no es por nada pero me considero un buen programador, pero con perdon de la palabra Joder que eres muy bueno te dejo mi correo darhius929@hotmail.com
Excelente 😉

16 01 2010
milena

A mi tambien me ha dejado impresionada tu proyecto .

15 06 2010
laura

Hola me gusto mucho el proyecto, me mandaron hacer lo mismo pero con mas cosas, quisiera ver la parte del diseño de tu ventana, como haces para colocarle imagenes a los botones por ejemplo, saludos

16 04 2011
Anthony Syueh GRSY

Hola amigo grax por el proyecto me sirvio mucho para comprender los arboles de expresiones.

Replica a milena Cancelar la respuesta