Proyecto MiCalculadora – Arbol de Expresion

 

Uno de las temas de mayor importancia en la carrera y en particular en la materia de Estructuras de Datos es precisamente el manejo de los datos en memoria de forma dinámica, para ello, se hacen uso de ciertas estructuras (pilas, colas, listas, árboles, grafos, etc.) que crecen en tiempo de ejecución y no así en tiempos de compilación, reduciendo así el tamaño de nuestras aplicaciones.

MiCalculadora – Evaluador de expresiones aritmética es una aplicación desarrollada y presentada como proyecto final en la materia de Estructuras de Datos II dirigida por el Ingeniero Gino Barroso Viruez. Este programa, para calcular el resultado de una expresión aritmética introducida por el usuario hace uso de una estructura dinámica muy particular, un Árbol binario de expresiones, que no es más que un Árbol binario. 

En un árbol binario de expresiones, cada nodo contiene la información de un elemento de la expresión (un operando o un operador) y la propia estructura del árbol viene determinada por la forma de la expresión aritmética.
 
 

 

El funcionamiento del programa se lo describe de la siguiente manera:

    • Una vez conrriendo (ejecutándose) el programa, se introduce una expresión aritmética cualquiera para ser evaluada.
    • Se procede a calcular y mostrar el resultado. Si se tubo éxito en la evaluación de la expresión, inmediatamente se muestra el resultado de la expresión (respetando paréntesis y prioridad de operadores), caso contrario se muestra un determinado mensaje de error.

Para que se entienda mejor, observar la figura en la parte superior.

La técnica de solución empleado en este problema se lo describe de la siguiente manera:

    • Se realiza un análisis léxico de la sintaxis y semántica de la expresión aritmética. Se presenta un mensaje de error en caso de encontrarse.
    • Se convierte la expresión en notación prefija (operador, operando1, operando2). Se respeta los paréntesis y prioridad de operadores.
    • A partir de la notación prefija generada por la expresión, se genera el árbol de expresión, esto se hace con la ayuda de una pila de Object (Java).
    • Una vez se tiene el árbol de expresión, se procede a evalúar en forma recursiva. Para ello, se utiliza el recorrido pre-orden.

Para tener un mejor conocimiento de la programación del programa se ha adjuntado el código fuente de las respectivas clases en la sección Programas.

Desarrollado en el leguaje de programación Java – IDE: NetBeans 6.1.

El proyecto ha sido trabajado por un equipo de 2 personas. Se agradece infinitamente a:

– Miguel Angel Miranda López

Publicado con fines educativos y de aprendizaje para la materia de Estructuras de Datos II.

Saludos.

Luis Alberto.

🙂

 

14 comentarios sobre “Proyecto MiCalculadora – Arbol de Expresion

Deja un comentario

Este sitio utiliza Akismet para reducir el spam. Conoce cómo se procesan los datos de tus comentarios.