Aplicaciones De Notacion Polaca E Inversa
Notación Polaca y Polaca Inversa.
Notación infija
A+B C-D E*F G/H
Distinción entre (A+B)*C y A+(B*C)
de prelación.
Con paréntesis y orden
Notación Polaca (Jan Lukasiewitz) (Notaciónprefija)
+AB –CD *EF /GH
Ejemplo:
(A+B)*C Æ [+AB]*CÆ *+ABC
A+(B*C) Æ A+[*BC] Æ +A*BC
(A+B)/(C-D) Æ [+AB]/[-CD]Æ /+AB-CD
Notación Polaca Inversa (Notación Postfija).
AB+
CD-
EF*
GH/
Tampoco senecesitan paréntesis.
Un computador normalmente convierte la expresión infija en
postfija y después calcula la expresión. Ejemplo :
Calculadora HP utiliza operaciones postfijas.
Evaluación de expresionesPostfijas.
5* (6+2) -12/4
5* (6+2) -12/4 Æ 5*[6,2,+]-[12,4,/]Æ
[5,6,2,+,*]-[ 12,4,/] Æ 5,6,2,+,*,12,4,/,-
Programa para la evaluación:
En el programa pondremos un valor centinela para saber
cuandoacaba la expresión. Por ejemplo un paréntesis
derecho.
ALGORITMO: Encuentra el VALOR de una expresión aritmética P
escrita en notación postfija.
1.
2.
3.
4.
5.
6.
7.
8.
Añadir un paréntesis derecho“)” al final de P
(centinela).
Examinar P de izq. A der. Y repetir los pasos 3 y 4
para cada elemento de P hasta que se encuentre el
centinela.
Si se encuentra un operando, ponerlo en PILA.
Si seencuentra un operador ⊗ entonces:
a. Sacar los dos operadores superiores de PILA, donde
A es el elemento superior y B el siguiente.
b. Evaluar B ⊗ A.
c. Poner el resultado de (b.) en PILA.
Fin delcondicional de 4.
Fin del bucle de 2.
Hacer VALOR igual al elemento superior de PILA.
Salir.
5,6,2,+,*,12,4,/,Símbolo examinado
5
6
2
+
*
12
4
/
)
Pila
5
5,6
5,6,2
5,8
40
40,12
40,12,4
40,3
37
ResultadoPasar de notación infija a postfija (O a Prefija en otros
casos.
ALGORITMO: POLACA(Q,P). Suponemos que Q es una expresión
aritmética escrita en notación infija. Este algoritmo
encuentra su expresiónpostfija P.
1.- Meter "(" en PILA y añadir ")" al final de Q.
2.- Examinar Q de izquierda a derecha y repetir los pasos 3
a 6 para cada elemento de Q hasta que la PILA esté
vacia.
3.- Si se...
Regístrate para leer el documento completo.