Cómo evaluar expresiones matemáticas ...

 

MSc. Alexander Borbón Alpízar.

   
Inicio 1  2  3  4  5  6  7  8  9  10  11  12 13 14

 

Evaluación en notación infija y postfija

Tomemos un ejemplo sencillo como $4+x^3$ cuando $x = 2$, esta expresión se escribe en la notaciones anteriores de la siguiente manera:

Notación infija: 4 + $x$ ^ 3

Notación postfija: 4 $x$ 3 ^ +

Para evaluar $4+x^3$ en notación infija primero se debe tomar el $2$ (en vez de la $x$), elevarlo al cubo y luego sumarle $4$; se nota que esto no está en forma lineal, es decir, se debe ir primero a la segunda parte de la expresión, evaluarla y luego sumarle al resultado el cuatro.

Es muy complejo hacer que un programa evalue de esta forma. Si la expresión "$4+x^3$'' se traduce a la forma "4 $x$ 3 ^ +'', entonces se convierte en una expresión más sencilla; para evaluar esta expresión en $x = 2$, el algoritmo es leer el texto de izquierda a derecha, si se encuentra un número lo apila4 y las operaciones se irán realizando conforme aparezcan.

Así, en el ejemplo "4 $x$ 3 ^ +'' se toma el $4$ y se mete en una pila de números, el segundo valor que se toma es la $x$, en vez de ésta introducimos el $2$ (que es el valor que estamos evaluando), luego se toma el $3$ y se mete nuevamente en la pila de números, es decir, tenemos una pila de números como sigue

 3
 2 
  4   

Ahora sigue una potencia, por lo que se toman los dos últimos números de la pila (recuerde que tomamos los dos de arriba: $2$ y $3$) y se realiza la potencia $2^3=8$, así, el $2$ y el $3$ se sustituyen en la pila por $8$, se obtiene la pila

  8   
4

Por último, sigue un signo de suma, éste también se realiza con dos números, por lo que se toman el $4$ y el $8$, el resultado es $4+8=12$ y en la pila queda un $12$; como ya se acabó la expresión entonces el resultado es $12$.

Aunque a primera vista esta forma de evaluar parece más compleja, para un programa no lo es, ya que se siguen los pasos en forma lineal (la expresión se lee de izquierda a derecha), la algoritmo estaría compuesto por tres reglas:

  1. Si lo que sigue en la expresión es un número, se agrega a la pila de números.

  2. Si sigue una operación que ocupa dos números (como la suma y la resta) se sacan los dos últimos números de la pila, se realiza la operación y se introduce el resultado en la pila.

  3. Si es una función que ocupa un solo número (como seno o coseno) entonces se saca un número de la pila, se evalúa y se guarda el resultado.

Con este ejemplo se observa que evaluar una expresión en notación postfija es más sencillo que hacerlo en notación infija, por lo que lo primero que se hará el programa es "traducir'' la expresión que digite el usuario a dicha notación. Veamos primero la teoría sobre cómo se hará esto.


Inicio 1  2  3  4  5  6  7  8  9  10  11  12 13 14


Cidse - Revista virtual Matemática, Educación e Internet - ITCR
Derechos Reservados