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:



Mostrando entradas con la etiqueta polaca. Mostrar todas las entradas
Mostrando entradas con la etiqueta polaca. Mostrar todas las entradas

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

miércoles, 26 de septiembre de 2012

Java: ¿Cómo evaluar expresiones matemáticas en el computador?

Evaluador de Expresiones Matemáticas


He encontrado este interesante artículo donde su autor Alexander Borbón A. 
explica como hacer un evaluador de expresiones matemáticas.

Además ha dejado disponible el código fuente tanto en java como en visual basic.
 
"En este artículo se muestra una forma de programar un evaluador de expresiones matemáticas en JAVA. El programa se construye paso a paso y se explican detalladamente las partes más importantes del mismo. El evaluador consta de dos partes o módulos, el primero se encarga de convertir la expresión digitada a notación postfija que es más sencilla para el computador; el segundo es el que evalúa la expresión que se obtuvo en un valor específico. Para poder comprender y reescribir este programa se necesita tener conocimientos básicos en la programación en JAVA, sin embargo, se explicará el uso de varias primitivas utilizadas y de algunos conceptos básicos de programación."
Para que veáis la calidad de la explicación y el código, se pueden evaluar este tipo de expresiones: