[EP4] Dúvida - Precedência

[EP4] Dúvida - Precedência

por Claynon Souza -
Número de respostas: 4

Revisando meu EP eu notei algo que eu achei estranho no enunciado.

Na última linha do exemplo a seguinte parte da linha "3 ^ ! 2 ^ 2" é traduzida pra pósfixa assim: "3 2! 2^^"

Segundo essa tradução: 3^!2^2 = 3^((!2)^2) = 3^(4) = 81

e não: 3^!2^2 = (3^(!2))^2 = 0,11111 ^ 2 = 0,01234567890123... (legal esse número)

A análise dos '^' está sendo feita da direita pra esquerda. Não deveria ser da esquerda pra direita?

Em resposta à Claynon Souza

Re: [EP4] Dúvida - Precedência

por Carlos Hitoshi Morimoto -

Oi Claynon,

de uma olhada na tabela de precedencia que está no enunciado e também nessa mensagem do seu professor .

te+

ht

Em resposta à Carlos Hitoshi Morimoto

Re: [EP4] Dúvida - Precedência

por Claynon Souza -

Ainda não tive minha dúvida sanada.

Minha dúvida é como devemos tratar dois operadores seguidos que são iguais.

Deixe-me tirar  o '!' do exemplo que talvez tenha feito eu ser entendido mal.

Na expressão '3 ^ 2 ^4' , devemos analisar da esquerda pra direita ( (3^2)^4) ou da direita pra esquerda (3^(2^4)).

No exemplo do enunciado do EP está mostrando que foi analisado da direita pra esquerda, enquanto eu acredito que tenha que ser analisado da esquerda pra direita.

Em resposta à Claynon Souza

Re: [EP4] Dúvida - Precedência

por Frederico Lage Ferreira -

A precedência do '^' é da direita para a esquerda mesmo, como está na tabela. O mesmo se aplica ao '!' e ao '='.

Não sei porque exatamente é assim, mas é o que está na tabela, é como o programa fornecido resolve o problema e testando na minha calculadora HP, ela também usa a mesma precedência. 

Em resposta à Frederico Lage Ferreira

Re: [EP4] Dúvida - Precedência

por Claynon Souza -

Agora que eu vi que na tabela mostra se é da esquerda pra direita ou o contrário.

Perdão, falta de atenção minha.