Convertir una expresion Infix a Postfix

Author: Richard Vivanco  |  Category: Sin categoría

Es es un ejercicio muy útil para entender el concepto de pilas en java, recordemos que una pila funciona como LIFO en este ejercicio consta de 3 clases  muy importantes, las cuales las detallare a continuación

Clase Principal(Deber2)

Deber2

  • Pedimos una expresión por teclado, esta expresión debe estar en Infix(Normalmente una expresión) ejm A+B*D
  • Realizamos una clase para determinar si la expresión es correcta( Si los paréntesis están correctamente)
  • Si la expresión es correcta la transformamos a PostFix
  • Preguntamos al usuario si quiere evaluar la expresión convertida o quiera evaluar una expresión nueva
  • Se pide al usuario que ingrese los valores de las variables usadas en la expresión
  • Nos muestra por pantalla la expresión convertida a PostFix y cuanto es valor numerico equivalente de la expresión

Clase Variable

Variable

  • Utilizamos 2 parámetros(Character nombre, int  valor)
  •  2 Métodos Constructores (1. con parámetros, 2.sin parámetros)
  • Invocamos los métodos get y set
  • Override Metodo ToString (sobrescribimos ToString)

Clase Expresión 

Expresion

  • Método constructor sin parámetros
  • Método VerificarParentesis

En este metodo utilizamos una pila la cual añade un elemento si la expresion tiene el parentesis»(» y remueve un elemento si tiene el parentesis «)» finalmente la expresion retornara true si la pila esta vacia y false si esta llena

  • Método InFixToPostFix

Este método trabaja de dos maneras diferentes, dependiendo si la expresión tiene paréntesis o no

Si tiene paréntesis creamos 3 pilas, la primera pila me funciona para los operadores, segunda para los paréntesis, la tercera para los multiplicandos de las expresiones ejem

(a+b)*(a-b) != a+b*a-b

Por esta razón trabajamos este método dependiendo de la expresión

  • Método evaluar

Este método evalúa una expresión en PostFix, Utilizamos una pila la cual agrega y remueve los operadores, la lógica que utilizamos fue agregar variables en una pila asta que encuentre un operador al momento de encontrar un operador removemos las dos ultimas variables ingresadas ala pila y realizamos la operación, y esta operación la volvemos agregar ala pila, asta recorrer toda la expresión

AB*V+=A*B+V

  • Método Variables

Este método realiza la función de sacar todas las variables de la expresión y guárdalas en una lista, las variables no pueden ser repetidas y a!=A respetando las mayúsculas y minúsculas

AA

ESPERO QUE LES GUSTE CUALQUIER INQUIETUD CONTÁCTENME POR FACEBOOK SUERTE ESPERO QUE LES SIRVA DE AYUDA 🙂

Leave a Reply