Notaciones aritmeticas en los lenguajes de programación


Advertencia : ARTICULO TÉCNICO – Puede aburrir

Ayer luego de postear la imagen de la salchicha polaca inversa, fueron pocos los que la entendieron, no está mal, ya que no es común para los que nunca estudiaron teoría de lenguajes de programación conocerla.

Ahora voy a hacer una pequeña explicación, algunas de las notaciones aritméticas que se estudian en lenguajes de programación, son la notación polaca o prefija, la notación infija y la notación polaca inversa o posfijo.

La notación infija, es la que todos usamos normalmente en la vida real y que por ese motivo es la tambien usan la mayoría de los lenguajes de programación.

Ej: 2+3 :Una formula está en notación infija cuando el operador (en el caso del ejmplo el +)  está entre los operandos , esta notación es entendible pero es poco natural ya que para formulas complejas hay que utilizar simbolos extra para representarla, Ej: 2 * 3 + 5 es relativamente dificil de leer hasta que ponemos los parentesis 2 * (3+5) o (2*3 )+ 5 lo que utilizando la notación infija dá dos interpretaciónes de la misma formula original dependiendo de donde se pongan los paréntesis, eso con las notaciones polaca y polaca inversa no ocurre

La notación prefija, es una de las mas simples de procesar para los parsers de los lenguajes de programación y aunque ustedes no lo crean es la que utilizamos sin querés, al decir algo como “sumá 2 y 3” , primero decimos la operación y luego los operandos.

Ej: +23 : Una formula está en notación prefija o polaca cuando el operador precede a los operandos y en el caso del ejemplo significa  “la suma de 2 y 3” , esta notación a diferencia de la infija no necesita de parentesis para entenderla mejor ya que una operación del tipo 2 * 3 + 5 al escribirla en notación polaca su significado queda claro, Ej: + *23 5 (que se entiende como [sumá [ el producto de 2 y 3 ] y 5] ) o  *2+35 (que se entiende como [multiplicá[2 y  [la suma de 3 y 5]] )que son operaciones diferentes sin necesidad de simbolos extra.

La notación polaca inversa es simplemente la polaca pero al reves, por eso lo de inversa, simplifica el procesamiento de operaciones al ser ingresadas a una computadora al no necesitar tanta memoria temporal para almacenar los operadores y operandos ya que se procesan a medida que se los ingresa (esto actualemnte perdió el sentido ya que las computadoras tiene memoria de sobra)

Ej: 23+: Una formula está en notación polaca inversa  cuando el operador está luego de los operandos, al igual que la notación prefija , no necesita paréntesis para separar operaciones, lo que quedaría de la sigueinte manera  Ej:23*5+ o bien 2 35+ * esta notación se puede ver en algunas calculadoras científicas hp.

Espero luego de esta explicación se pueda entender la imagen de la salchicha polaca inversa que como se puede ver en la imagen los operandos serian los panes y el operador la salchicha, los operandos están antes y el operador despues 🙂

rps

Si alguien encuentra algún error, dejemé un comentario y lo arreglo.

Tags: , , , ,

Busquedas Relacionadas
  1. 3 Comentarios en “Notaciones aritmeticas en los lenguajes de programación”

  2. Para que la notación postfija y la prefija se entiendan bien, tenés que usar espacios, sino no podrías representar cálculos como 23 + 4 (por ej.) Si lo pongo en prefija queda + 23 4, y sin espacios (+234) sería imposible saber si es 23 + 4 ó 2 + 34.

    Eso nomás, lindo post! =)

  3. Doc, tenés razon, ahora lo modifico.

  1. Trackback(s)

  2. 12 de October de 2009: Bitacoras.com

Hacé un comentario en el post, participá!!!