Dedicado a mis proyectos en Gambas ,un lenguaje de programación parecido al Visual Basic + Java pero ampliamente mejorado y...¡¡para gnu/linux!!.La potencia del gnu/linux sumada a la facilidad del Basic



Consultas, Desarrollo de programas y petición de presupuestos:



sábado, 1 de diciembre de 2012

Evaluar Expresiones: Notacion Polaca Inversa (RPN), aplicación para gambas

JAN LUKASIEWICZ 

Evaluar Expresiones:

Notación Polaca Inversa

RPN





 Gracias a un compañero del foro de gambas-es.org, Shell, he conocido esta web: http://latecladeescape.com/algoritmos , donde explican una serie de algoritmos, entre ellos el de la notacion polaca inversa, creada por JAN LUKASIEWICZ



El ejemplo que pone la web esta escrito en C#, y lo he pasado a gambas, creando esta aplicación:



Lo que más me ha gustado, además de darle un uso práctico a una pila, ver como se gestionan los distintos tipos de errores que pueden contener la expresión que le pasemos a evaluar.

Codigo fuente: descarga

Nota:
Para evaluar expresiones, gambas tiene la clase gb.eval, que la podemos usar para evaluar expresiones normales.


Public Sub Main()
Dim Context As New Collection
Context["X"] = "23"
Context["a"] = "2"
Print Eval("a*X+(34-2)", Context)
End

Fuente: http://latecladeescape.com/algoritmos/1125-evaluacion-de-expresiones-aritmeticas-en-notacion-polaca-inversa