expressões
Prof: Sérgio Souza Costa
Avaliação de expressões
Como efetuar o cálculo de uma expressão em um computador? A / B * (D + C)
Avaliação de expressões - Notações
Avaliação de expressões - Notações
Infixa: A + (B*C) / D
Avaliação de expressões - Notações
Infixa: A + (B*C) / D
Posfixa (polonesa reversa): A B C * + D /
Avaliação de expressões - Notações
Infixa: A + (B*C) / D
Posfixa (polonesa reversa): A B C * + D /
Préfixa (polonesa): + A / * B C D
Notação Infixa
Operadores entre operandos.
4+6*8
Notação Infixa
Operadores entre operandos.
4+6*8
Como decidir quais operadores são avaliados primeiros ?
Notação Infixa
Operadores entre operandos.
4+6*8
Como decidir quais operadores são avaliados primeiros ?
Notação Infixa - Avaliação
Operadores entre operandos.
4+6*8
Como decidir quais operadores são avaliados primeiros ?
○ Abordagem usual é usar as mesmas regras da matemática.
○ Caso a prioridade seja a mesma, avalia-se da esquerda para direita ○ Parenteses tem precedência sobre todos operadores.
Notação Infixa - Precedência
Quando usamos a notação infixa é importante sabermos a ordem de precedência dos operadores, por exemplo, abaixo temos uma lista ordenada dos operadores por ordem de precedência.
() [] ->
! ~ ++ -- * & (tipo) sizeof()
* / %
+ >>
== !=
&
^
|
&&
||
? () : ()
= += -= *=
Notação Polonesa
É fácil observar que devido a estas regras, o algoritmo para avaliar expressões na notação infixa não é muito trivial.
O matemático polonês Jan Łukasiewicz criou uma notação em torno de 1920 que elimina a necessidade de regras.
Ficou sendo conhecida como notação polonesa.
Não é muito usado na matemática convencional, mas muito usado nas ciências da computação.
Notação Polonesa e Polonesa Reversa
Notação Polonesa ou Prefixa, os operadores aparecem antes dos operandos.
+AB
Notação Polonesa reversa ou Pósfixa, os operadores aparecem logo após os