Expressões

 

-         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

 

Operadores Aritméticos Básicos

 

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.).

 

Operadores Lógicos Básicos

 

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.

 

 

Operadores Relacionais

 

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 Literal Básico

 

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)