No contexto das estruturas de dados avançadas como listas, p...

Próximas questões
Com base no mesmo assunto
Q57070 Algoritmos e Estrutura de Dados
No contexto das estruturas de dados avançadas como listas, pilhas, filas e árvores é comum se encontrar referência à notação polonesa reversa. Nesse sentido, a expressão X*(Y+W)/(X-Y) é representada nessa notação, como:
Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

A alternativa correta é a B - XYW+*XY-/.

A questão aborda a notação polonesa reversa (NPR), também conhecida como notação pós-fixa. Essa notação é uma maneira de escrever expressões aritméticas sem a necessidade de parênteses para denotar prioridades de operações. Na NPR, os operadores seguem seus operandos, o que facilita a avaliação de expressões em computadores utilizando pilhas.

Para resolver a questão, é necessário compreender como converter uma expressão infixa (a notação usual que utilizamos no dia a dia) para a notação polonesa reversa. Vamos analisar a expressão dada X*(Y+W)/(X-Y) e convertê-la passo a passo:

1. Y+W deve ser avaliado primeiro, pois está entre parênteses.
Na notação polonesa reversa, isso fica como YW+.

2. X*(YW+)
Aqui, X multiplica o resultado da soma anterior. Em NPR, isso fica como XYW+*.

3. (XYW+*)/(X-Y)
Primeiro, precisamos converter X-Y para NPR, que fica XY-.

4. Agora, combinamos tudo como XYW+*XY- e, finalmente, aplicamos o operador de divisão:

5. A expressão completa em NPR fica XYW+*XY-/.

Vamos analisar as alternativas incorretas:

A - XYW+*XY/-
Nesta alternativa, os operadores de divisão e subtração estão invertidos, não respeitando a ordem correta das operações.

C - XYW+*/XY-
Aqui, o operador de divisão é aplicado antes do operador de subtração, o que altera a ordem das operações.

D - XYW*+XY-/
Esta alternativa coloca o operador de multiplicação antes da soma, o que está incorreto.

E - XYW*+XY/-
Assim como a alternativa A, os operadores de divisão e subtração estão invertidos, não respeitando a ordem correta das operações.

Compreender a notação polonesa reversa é essencial para resolver problemas de avaliação de expressões em algoritmos e estruturas de dados, especialmente ao lidar com pilhas.

Clique para visualizar este gabarito

Visualize o gabarito desta questão clicando no botão abaixo

Comentários

Veja os comentários dos nossos alunos

 

  • Notação Polonesa Reversa (ou posfix): é como a polonesa na qual os operandos aparecem após os operandos.

  • Exemplo: 
    tradicional: A * B - C / D 
    polonesa reversa: A B * C D / -

só corrigindo... a NPR ou Notação Polonesa Reversa é a notação a qual os OPERADORES aparecem após os OPERANDOS, esta é a mesma notação que se usam normalmente nas calculadoras cientificas como a HP 12C.

 X*(Y+W)/(X-Y)

na notação polonesa inversa primeiro temos que colocar os operandos e em seguida os operadores. (posfixada)
Então:

1. temos o primeiro operando: X
2. o segundo: Y+W = YW+
3. posfixando o operador multiplicação: XYW+*  (este tb é o primeiro operando da divisão)
4. segundo operando da divisão:  X-Y = XY-
5. juntando os operandos e posfixando o operador divisão: 
XYW+* XY-/ 

Para notarmos a diferença vamos fazer a Notação Polonesa Normal, está é prefixada (operadores primeiro e operandos depois). E vem da operação mais "interna" para a mais "externa" (por isso a inversa é considerada mais rápida).

1. operador mais interno é a divisão: /
2. Primeiro operando da divisão: X*(Y+W) = *X+YW

2.1. operador mais interno é a multiplicação (respeite os parênteses) = *
2.2. primeiro operando da * = X
2.3. segundo operando da * = Y+W = +YW

3. Segundo operando da divisão = X-Y = -XY
4. Concatenando os passos =  /
*X+YW-XY

Repare que a ordem das variáveis é a mesma nas três notações.




Para este tipo de questão, eu aconselho fazer a arvore binaria, dai fica facil a resolução sem medo, vejamos (desculpe o desenho, mas é o que da pra fazer com mao livre, rs). A partir do enunciado, construimos a arvore abaixo e dela podemos derivar as outras ordens:

Ordem Prefixa (Polonesa): /*X+YW-XY
Ordem Infixa (dada no enunciado): X*(Y+W)/(X-Y)
Ordem Pos-fixa (Polonesa reversa): XYW+*XY-/

Bons estudos!!!
Na notação polonesa invertida os operadores aparecem na ordem em que serão realmentes executados durante a avaliação da expressão.

Clique para visualizar este comentário

Visualize os comentários desta questão clicando no botão abaixo