Convertidor de notación polaca

Convierte expresiones entre notación infija, polaca prefija y polaca inversa posfija con resultados inmediatos y legibles.

Convertir la notación de una expresión
Introduce una expresión y elige la notación de origen y destino.

Acerca de la conversión de notación polaca

La notación polaca permite escribir expresiones matemáticas y lógicas sin depender de la posición habitual de los operadores entre los valores. En notación infija, el operador aparece entre sus operandos, como en A + B. La notación prefija lo coloca primero: + A B; la posfija lo coloca al final: A B +. La forma prefija suele llamarse notación polaca, y la posfija, notación polaca inversa o RPN. Como el orden del operador y sus operandos es inequívoco, estas expresiones generalmente no necesitan paréntesis. Este convertidor admite cuatro transformaciones habituales: infija a prefija, infija a posfija, prefija a infija y posfija a infija. En la entrada infija reconoce identificadores, números decimales, paréntesis y operadores de suma, resta, multiplicación, división y potencia. Aplica las reglas de precedencia estándar: primero potencias, luego multiplicaciones y divisiones, y finalmente sumas y restas. Los paréntesis pueden alterar ese orden. La potencia es asociativa por la derecha, de modo que a ^ b ^ c significa a ^ (b ^ c). Las conversiones desde infija usan el algoritmo de patio de maniobras para ordenar los elementos según su precedencia. Una pila guarda temporalmente los operadores mientras los valores pasan directamente a la salida. La salida prefija se construye a partir de la secuencia posfija resultante. Las conversiones de prefija o posfija a infija usan una pila de expresiones parciales. Al encontrar un operador, se extraen los dos operandos correspondientes, se combinan, se encierran entre paréntesis y se devuelven a la pila. El último elemento es la expresión infija completa. Los espacios son importantes en las entradas prefijas y posfijas porque identifican cada operando y operador. Escribe * + A B C en lugar de *+ABC. Las expresiones infijas pueden incluir u omitir espacios porque los paréntesis y los caracteres de operador separan los elementos. El convertidor conserva los nombres de variables y los valores numéricos, pero añade espacios y paréntesis para facilitar la revisión. La conversión de notación resulta útil al estudiar árboles de expresión, análisis sintáctico de compiladores, máquinas de pila, calculadoras y estructuras de datos. Las expresiones posfijas se pueden evaluar de izquierda a derecha con una pila sencilla, y las prefijas, de forma similar, de derecha a izquierda. Convertir una fórmula infija familiar hace explícita la precedencia de operadores y ayuda a comprobar ejercicios de análisis de expresiones.

Ejemplos de notación polaca

Estos ejemplos muestran expresiones equivalentes en distintos sistemas de notación.

EntradaSalidaConversión
(A + B) * C - D- * + A B C DInfija a prefija
A + B * CA B C * +Infija a posfija
* + A B - C D((A + B) * (C - D))Prefija a infija
A B + C D - *((A + B) * (C - D))Posfija a infija

Cómo usar el convertidor de notación

  1. Elige una de las cuatro conversiones para indicar la notación de entrada y la deseada.
  2. Introduce la expresión con espacios entre todos los elementos si usas notación prefija o posfija.
  3. Selecciona Convertir para analizar la expresión y mostrar su notación equivalente.
  4. Revisa el orden de los operadores o selecciona Restablecer para borrar la expresión y empezar de nuevo.

Preguntas sobre el convertidor de notación polaca

¿Qué es la notación polaca?

Coloca cada operador antes de sus operandos: A + B se convierte en + A B. Así no hacen falta paréntesis si se conoce el número de operandos de cada operador.

¿Qué es la notación polaca inversa?

Coloca el operador después de sus operandos: A + B pasa a ser A B +. También se llama notación posfija y suele evaluarse con una pila.

¿Las expresiones prefijas y posfijas necesitan espacios?

Sí, este convertidor requiere espacios entre sus elementos para distinguir valores de varios caracteres. Por ejemplo, escribe + total 25 en vez de +total25.

¿Cómo trata la precedencia de operadores?

En expresiones infijas, la potencia tiene máxima prioridad, seguida de multiplicación y división, y luego suma y resta. Los paréntesis prevalecen sobre ese orden.

¿Puedo combinar números y nombres de variables?

Sí, los operandos pueden ser números decimales o identificadores formados por letras, dígitos y guiones bajos. El convertidor reordena los elementos sin evaluar su valor numérico.