-
Conceito
É a combinação de variáveis, constantes e
operadores, que quando avaliada, resulta um valor.
-
Operadores
São elementos funcionais que atuam sobre operandos e
produzem um determinado resultado.
Classificação quanto ao número de operandos sobre os
quais os operadores atuam:
o
Binários
Quando
atuam sobre dois operandos.
o
Unários
Quando
atuam sobre um único operando.
Classificação quanto ao tipo de dado dos operandos e
do valor resultante de sua avaliação:
o
Aritméticos
o
Lógicos e Relacionais
o
Literais
-
Tipos de Expressão
São classificadas conforme o tipo de dados do valor
resultante da avaliação.
o
Expressões Aritméticas
São
aquelas em que o resultado da avaliação é do tipo numérico, inteiro ou real. Só
é permitido o uso de operadores aritméticos e variáveis numéricas nas
expressões deste tipo
|
Operador |
Tipo |
Operação |
Prioridade |
|
+ |
Binário |
Adição |
4 |
|
- |
Binário |
Subtração |
4 |
|
* |
Binário |
Multiplicação |
3 |
|
/ |
Binário |
Divisão |
3 |
|
** |
Binário |
Exponenciação |
2 |
|
+ |
Unário |
Manut.
de Sinal |
1 |
|
- |
Unário |
Inversão
de Sinal |
1 |
Exemplo:
VAR A, B, C
: inteiro
VAR
X, Y, Z : real
1)
A + B * C - expressão de resultado
inteiro
2) A + B + Y - expressão de resultado real
3)
A / B - expressão de
resultado inteiro (divisão inteira)
4)
X / Y - expressão de
resultado real
o
Expressões Lógicas
São
aquelas em que o resultado da avaliação é do tipo lógico (.V. ou .F.).
|
Operador |
Tipo |
Operação |
Prioridade |
|
.OU. |
Binário |
Disjunção |
3 |
|
.E. |
Binário |
Conjunção |
2 |
|
.NÃO. |
Unário |
Negação |
1 |
Tabela-verdade
dos Operadores Lógicos
|
A |
B |
.NÃO. A |
.NÃO. B |
A .OU. B |
A .E. B |
|
.F. |
.F. |
.V. |
.V. |
.F. |
.F. |
|
.F. |
.V. |
.V. |
.F. |
.V. |
.F. |
|
.V. |
.F. |
.F. |
.V. |
.V. |
.F. |
|
.V. |
.V. |
.F. |
.F. |
.V. |
.V. |
|
Operador |
Comparação |
|
= |
Igual |
|
<> |
Diferente |
|
< |
Menor |
|
<= |
Menor
ou Igual |
|
> |
Maior |
|
>= |
Maior
ou Igual |
Exemplo:
Sejam A e B variáveis lógicas, X e Y variáveis reais, e R, S e T variáveis
literais, com os respectivos valores:
A= .V., B=.F.
X=2,5, Y=5,0
R= “PAULA”,
S=”ANA”, T=”ANINHA”
Tabela de avaliação de expressões lógicas.
|
Expressão |
Resultado |
A .OU. B |
.V. |
|
A
.E. B |
.F. |
|
.NÃO.
A |
.F. |
|
X
= Y |
.F. |
|
X
= (Y / 2) |
.V. |
|
R
= S |
.F. |
|
S
= T |
.F. |
|
R
<> S |
.V. |
|
R
> S |
.V. |
|
S
> T |
.F. |
|
((A
.OU. B) .OU. (XY) .OU. (ST) |
.V. |
o
Expressões Literais
São
aquelas em que o resultado da avaliação é do tipo literal.
Os
tipos de operadores variam muito de uma linguagem para outra.
|
Operador |
Tipo |
Operação |
|
+ ou & |
Binário |
Concatenação |
Exemplo:
Sejam R e S variáveis literais com os respectivos valores:
R=
“ABSOLUTA”, S =”MENTE”
R +
S = “ABSOLUTAMENTE”
-
Avaliação de Expressões
Regras
Básicas:
1 –
Observar as prioridades dos operadores, conforme exposto nas tabelas
anteriores, operadores de maior prioridade devem ser avaliados primeiro. Quando
a prioridade for igual, deve-se avaliar da esquerda para a direita.
2 –
As subexpressões entre parênteses devem ser avaliadas primeiro.
3 –
Operadores aritméticos e literais devem ser avaliados primeiro, depois vêm os
relacionais e por último os lógicos.
Exemplo:
Sejam X, Y e Z variáveis reais, e A e B variáveis lógicas, com os respectivos
valores:
X = 2,0, Y = 3,0, Z = 0,5
A = .V., B = .F.
Expressões
e resultados de avaliação
|
Expressão |
Resultado da Avaliação |
X * Y – Z
|
5,5 |
|
X * (Y – Z) |
5,0 |
|
X + Y * Z |
3,5 |
|
X + (Y * Z) |
3,5 |
|
(X + Y) * Z |
2,5 |
|
X **Y –1 |
7,0 |
|
(X
** Y) –1 |
7,0 |
|
X
** (Y – 1) |
4,0 |
|
B
.E. A .OU. X <> Y / 2 |
.V. |
|
B
.E. (A .OU. X <> Y / 2) |
.F. |
Exercício:
Dada a tabela-verdade correspondente à operação lógica .OU_EXCLUSIVO., encontre
uma expressão lógica equivalente à mesma e que utilize apenas os operadores
lógicos .OU., .E. e .NÃO..
|
A |
B |
A .OU_EXCLUSIVO. B |
|
.F. |
.F. |
.F. |
|
.F. |
.V. |
.V. |
|
.V. |
.F. |
.V. |
|
.V. |
.V. |
.F. |
A
.OU_EXCLUSIVO. B = ((.NÃO. A) .E. B) .OU. (A .E. (.NÃO. B))
Exercícios
Propostos:
1 –
Dada a declaração de variáveis:
VAR A, B, C : inteiro
X,
Y, Z : real
NOME,
RUA : literal [20]
L1, L2 : lógico
Classifique
as expressões seguintes de acordo com o tipo de dado do resultado de sua
avaliação, em I (inteiro), R (real), L (literal), B (lógico) ou N (quando não
for possível defini-lo):
( ) A + B + C ( ) A > B
( )
A + B + Z ( ) A > Y
( ) NOME + RUA (
) NOME > RUA
( ) LI .OU. L2 ( ) A > B = L1
( ) (RUA < > NOME) .E. (.NÃO. (A = B))
( ) A + B / C ( ) X + Y / Z
( ) A = X / Z ( ) X + Z / A
( ) A + Z / A ( ) L1 ** L2
2 –
Para as mesmas variáveis declaradas no exercício 1, às quais são dados os
valores seguintes:
A =
1 X = 2,0 NOME =
“PEDRO”
B =
2 Y = 10,0 RUA = “
PEDRINHO”
C =
3 Z = -1,0 L1 = .V. L2 = .F.
Determine
o resultado da avaliação das expressões abaixo:
A +
C / B
A +
B / C
C /
B / A
A
** B ** A
Z * X ** B
-X ** B
- (X **B)
(-X) ** B
NOME
+ RUA
NOME
= RUA
L1
.OU. L2
(L1
.E. (.NÃO. L2))
(L2
.E. (.NÃO. L1))
(L1
.E. (.NÃO. L2)) . OU. (L2 .E. (.NÃO. L1))
X > Y .E. C < = B
(C
– 3 * A) < (X + 2 * Z)