Luis Baigorria – Software Developer

Acquire Wisdom and Live with Passion

Proyecto MiCalculadora – Arbol de Expresion

with 12 comments

 

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.

🙂

 

Written by Luis Alberto

26/04/2009 a 4:35 PM

Publicado en UAGRM

12 comentarios

Subscribe to comments with RSS.

  1. Hola, muy interesante el proyecto….no lo haz subido a la red…se puede dercargar?

    Me gusta

    israel

    16/07/2009 at 5:41 PM

  2. Si buena pregunta…Si se pudiera descargar seria excelente.Gracias

    Me gusta

    Hugo

    20/11/2009 at 12:46 AM

  3. Me puedes mandar el codigo a mi mail porfavor rulolin@hotmail.com

    Me gusta

    gonzalo

    07/06/2011 at 2:52 PM

  4. me podes mandar el codigo fuente de arbol de expresiones

    Me gusta

    Tony

    21/08/2011 at 1:16 AM

  5. no me sale descargar el codigo por favor mandeme el codigo a mi correo

    Me gusta

    Tony

    21/08/2011 at 1:33 AM

  6. alguien lo tiene en pascal? muchas gracias

    Me gusta

    elcaru

    26/12/2012 at 7:49 AM

  7. Buenas, alguein tienen el proyecto para que me lo compartan, lo necesito ya que tengo que hacer un proyecto similar y seria de mucha ayuda, gracias.

    estebanb200x@hotmail.com

    Me gusta

    Esteban

    12/08/2013 at 4:13 PM

  8. no se lo puede descargar en esa direccion que pones diculpa solo copiar deja

    Me gusta

    giovanni

    01/02/2017 at 12:21 PM

  9. Amigo esta bien interesante tu proyecto, la verdad esta muy bien hecho y me salvaste el semestre amigo
    muchisimas gracias !!!

    Me gusta

    Luis

    12/03/2017 at 7:40 PM


Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: