Notação polonesa inversa: diferenças entre revisões

Origem: Wikipédia, a enciclopédia livre.
Conteúdo apagado Conteúdo adicionado
Linha 84: Linha 84:
|{{Ven|14}}
|{{Ven|14}}
|-
|-
! style="padding: 2em 2em;" |Operação
!|Operação
|Empilhar 5
|Empilhar 5
|Empilhar 1
|Empilhar 1

Revisão das 07h38min de 27 de agosto de 2021

 Nota: "RPN" redireciona para este artigo. Para a emissora de rádio de João Pessoa, veja Rede Paraibana de Notícias.

Notação Polonesa Inversa (ou RPN na sigla em inglês, de Reverse Polish Notation), também conhecida como notação pós-fixada, foi inventada pelo filósofo e cientista da computação australiano Charles Hamblin em meados dos anos 1950, para habilitar armazenamento de memória de endereço zero. Ela deriva da notação polonesa, introduzida em 1920 pelo matemático polonês Jan Łukasiewicz. (Daí o nome sugerido de notação Zciweisakul.) Hamblin apresentou seu trabalho numa conferência em Junho de 1957, e o publicou em 1957 e 1962.

Conquanto rejeitado em primeira apreciação por parte da maioria dos utilizadores, sob a alegação de ser "muito difícil, preferindo-se a convencional", tudo não passa de apenas uma primeira impressão de quem não tem familiaridade com a nova notação e, pois, com as suas vantagens. Quer na computação automatizada, quer no cálculo manual assistido por instrumentos de cálculo (calculadoras, lato sensu), a notação polonesa reversa (RPN) apresenta as seguintes vantagens:

  1. Reduz o número de passos lógicos para se perfazerem operações binárias e, posto que as demais operações são ou binárias puras compostas, ou binárias compostas com unitárias ou apenas unitárias, o número total de passos lógicos necessários a um determinado cômputo será sempre menor que aquele que utiliza a sintaxe convencional (lógica algébrica direta);
  2. Trabalha com pares ordenados a priori, somente definindo a lei de composição binária aplicável após a eleição e a introdução do desejado par no cenário de cálculo. Até o momento final, se poderá decidir pela troca ou pela permanência da operação original.
  3. Minimiza os erros de computação, automática ou manual assistida;
  4. Maximiza a velocidade operacional na solução de problemas.

Tudo isso pode ser facilmente constatado na tabela a seguir, por meio de contagem de números de passos lógicos operacionais para o modo RPN comparado com o modo convencional.

A notação RPN tem larga utilização no mundo científico pela fama de permitir uma linha de raciocínio mais direta durante a formulação e por dispensar o uso de parênteses mas mesmo assim manter a ordem de resolução.

Esta notação ganhou ampla notoriedade ao ser adotada pelas calculadoras HP.[1][2][3]

ALGUNS EXEMPLOS DE OPERAÇÕES E NOTAÇÕES
Operação Notação convencional Notação Polonesa Notação Polonesa Inversa
a+b + a b a b +
(a+b)/c / + a b c a b + c /
((a*b)-(c*d))/(e*f) / - * a b * c d * e f a b * c d * - e f * /

Uso em máquinas de pilha

A notação polonesa inversa é utilizada em linguagens de programação de pilhas de dados, como Forth.[4]

Tomemos, como exemplo, a seguinte expressão:

 5 + ((1 + 2) × 4) - 3

Esta expressão pode ser representada em notação polonesa inversa como:

 5 1 2 + 4 × + 3 −

Da esquerda para a direita, podemos calculá-la numa máquina de pilha como:

Pilha 2 4 Resultado 14
1 1 3 3 12 3
5 5 5 5 5 5 17 17 14
Operação Empilhar 5 Empilhar 1 Empilhar 2 Somar 1 e 2 Empilhar 4 Multiplicar 3 por 4 Somar 5 e 12 Empilhar 3 Subtrair 3 de 17
Notação 5 1 2 + 4 × + 3 -

Como observado, não é necessário parênteses ao utilizar a notação polonesa inversa.

Ver também

Referências

  1. «RPN: Uma introdução à notação polonesa reversa». Aunimaq. 2015. Consultado em 1 de fevereiro de 2015 [ligação inativa]
  2. «Aprendendo a usar a calculadora HP 12C - Editora Atlas». Editora Atlas. Consultado em 1 de fevereiro de 2015. Arquivado do original em 16 de maio de 2014 
  3. «TUTORIAL 1: Uma visão geral da HP48». Instituto Federal de Ciência e Tecnologia e Educação e São Paulo. Consultado em 15 de junho de 2017 
  4. http://www.dei.isep.ipp.pt/~luis/stack_machines/cap3.html Resumo da linguagem de programação Forth – Departamento de Engenharia Informática

Ligações externas