• Nenhum resultado encontrado

CONCEITOS BÁSICOS SOBRE ALGORITMOS

CONCEITOS B ASICOS / SO BRE ALGORITMOS

CAPÍTULO 3 CONCEITOS BÁSICOS SOBRE ALGORITMOS

3.4.3 OPERADORES R E L.ACIONAIS

São utilizados para estabelecer uma relação de comparação entre valores ou ex­ pressões. O resultado dessa comparação é sempre um valor lógico (booleano) ver da­ deiro ou falso. Operador Representação utilizando-se a notação algorítmica Maior > Maior ou igual >= Menor < Menor ou igual <= Igual a Diferente de <>

Representação Exemplos em Java

utilizando-se a

notação para

linguagem Java

> a > b - Se o valor de a for maior do que o valor de b, retornará verdadeiro. Senão,

retornará falso.

>= a >= b - Se o valor de a for maior ou igual

ao valor de b, retornará verdadeiro. Senão,

retornará falso.

< a < b - Se o valor de a for menor do que o

valor de b, retornará verdadeiro. Senão,

retornará falso.

1 - .-

a <= b - Se o valor de a for menor ou igual

ao valor de b, retornará verdadeiro. Senão,

retornará falso.

a == b - Se o valor de a for igual ao valor de

b, retornará verdadeiro. Senão, retornará

falso.

a ! = b - Se o valor de a for diferente do

valor de b, retornará verdadeiro. Senão,

retornará falso.

I TABELA 4 1 Operadores rei acionais

3.4.4 O P E R A D O R E S L.OGICOS ,

São utilizados para concatenar ou associar expressões que estabelecem uma re­ lação de comparação entre valores. O resultado dessas expressões é sempre um valor lógico (booleano) verdadeiro ou falso.

3.4.5 P R E C E D E N C I A DOS OPERADORES A

As linguagens de programação normalmente estabelecem uma ordem de avalia­ ção considerando a precedência dos operadores quando mais de um operador é usado em

uma expressão. Consulte o anexo para obter a precedência dos operadores para a lingua­ gem Java. No caso de não haver precedência entre os operadores aplicados, a expressão é avaliada da esquerda para a direita.

Considere a expressão: A = B < 8 . e . C = 3 . Essa expressão combina duas

Operador Representação utilizando-se a notação

algorítmica

Representação Exemplos em Java

utilizando-se a notação para linguagem Java e . e. ou . ou. não . não .

&& a - 5 && b ! = 9 - Caso o valor de a seja igual

a 5 e o valor de b seja diferente de 9, então retornará

verdadeiro. Caso contrário, retornará falso.

I I a - 5 I I b ! = 9 - Caso o valor de a seja igual

a 5 ou o valor de b seja diferente de 9, então

retornará verdadeiro. Se ambas as comparações retornarem falso, o resultado será falso.

1 ! a > 5 - Se o valor de a for maior do que 5, retornará falso. Caso contrário, retornará

verdadeiro.

I TABELA s i Operadores lógicos

verdadeiro, o valor verdadeiro será atribuído à variável A. Em quaJquer outra circunstância, o valor falso será atribuído a A. Deve-se observar que, primeiramente, são avaliadas as expressões de comparação B < 8 e C = 3 e, posteriormente, os

resultados dessas duas expressões são associados por meio do operador . e . , obtendo­

se o resultado final. Isso se deve ao fato de existir uma precedência entre os operadores relacionais e os lógicos. Os operadores relacionais são avaliados primeiro e, posterior­ mente, os lógicos. Normalmente, além da existência de precedência entre operadores de tipos diferentes, operadores do mesmo tipo possuem, também, uma precedência. A Ta­ bela 6 demonstra essa relação.

Operador Observação

( ) ' [ ] Parênteses e colchetes são usados para agrupar expressões, determinando

precedência, a exemplo das expressões matemáticas.

" ou * * Operador aritmético de potenciação.

* , I Operadores aritméticos de multiplicação e divisão. + -' Operadores aritméticos de adição e subtração.

f- Operador de atribuição.

=, <, >, < = , > = , <> Operadores relacionais.

Operador lógico de negação .

. nao.

. e. Operador lógico e .

. ou. Operador lógico ou .

' '

CAPITULO 3 - CONCEITOS BASICOS SOBRE ALGORITMOS

Dessa forma, a expressão:

A f- B + 2 > 5 .ou. C <> 4 . e . D - 0

seria avaliada na seguinte ordem: • c <> 4 [ 1 ] • D = o [2] • [ l ] . e . [2] [3] • B + 2 [4] • [4] > 5 [5] • [5] . ou . [3] [6] • A (- [6]

LEMBRE-sE: A precedência matemática também deve ser considerada na imple­ mentação dos algoritmos.

3.5 TABELA-VERDADE

25

A tabela-verdade expressa o conjunto de possibilidades existentes para a com­ binação de variáveis ou expressões e operadores lógicos. Um exemplo de combinação entre variáveis é A >= 5 . e . B ! = 1 O, onde A e B são as variáveis, > = e ! = são os operadores relacionais e . e . é o operador lógico. Um exemplo de combinação entre

expressões é A + B ! = X - 1 O. A tabela-verdade é utilizada para facilitar a análise

da combinação dessas expressões ou variáveis, conforme pode ser verificado a seguir:

Expressão algoritmo Expressão em Java Resultados ' . poss1ve1s && ( . e . ) Operador I ( . não.) A - 5 B <> 9 A - 5 . e . B < > 9 A - 5 . o u . B <> 9 .não. A - 5 A -- 5 B ! = 9 A == 5 && B ! = 9 A -- 5 I I B ! = 9 ! A -- 5 . v . . v . . v . . v . . f . . v . . f . . f . . v . . f . . f . . v . . f . . v . . v . . f . . f . . f . .f . . v. !TABELA 7 1 Tabela-verdade

Na tabela, pode-se verificar que as expressões A = 5 e B ! = 9 podem assumir quatro possibilidades. Ou seja, ambas podem ser verdadeiras (primeira linha dos resul­ tados possíveis), a primeira pode ser verdadeira e a segunda falsa, a primeira pode ser

falsa e a segunda verdadeira ou ambas podem ser falsas. Essas combinações dependem, p01tanto, dos valores atribuídos às variáveis A e B.

Submetendo essas expressões aos operadores lógicos

(

&& - e,

I I

- ou, ! - não), obtêm-se valores diferentes, dependendo do resultado que cada uma das expressões assumir individualmente. Assim, considerando a primeira linha de resultados possíveis, onde A = 5 é verdadeiro e B <> 9 também é, obtemos os seguintes resultados:

• verdadeiro para A = 5 . e . B <> 9 : se A = 5 é verdadeiro e B

< > 9 também é, o resultado associado com o operador && também é;

• verdadeiro para A = 5 . ou . B <> 9 : se A = S é verdadeiro e

B <> 9 também é, o resultado associado com o operador

l i

também é;

• falso para .não. A = 5 : se A = 5 é verdadeiro,a negação é falso.

Deduz-se que, para o operador &&, o resultado será verdadeiro somente se ambas as expressões associadas assumirem o resultado verdadeiro. Por outro lado, para o operador

I I ,

o resultado será verdadeiro se pelo menos uma das expres­ sões associadas assumir o resultado verdadeiro.

3 . 6

EXE RCICIOS PARA FIXAÇAO

/ �

1 . Dadas as expressões a seguir, identificar o resultado verdadeiro ou falso

que cada uma delas retornaria, em função dos valores dados.

Exemplo:

Supondo que à variável A seja atribuído o valor 2 e à variável B seja atribuído o valor 7 :

A = 2 . e . B = 5

Resultado: falso (para A=2, o resultado é verdadeiro; para B=5, o resultado é falso. Como o operador é . e . , o resultado final é falso). Considerando os mesmos valores atribuídos a A e B, avalie as expressões a

.

seguir: � A = 3 . e . B = 7 b) A < 3 . ou. B <> 7 c) A <= 2 . e . B = 7 d) . nã o . A = 2 . e . B = 7 e) A < 5

.

e . B > 2

.

ou . B <> 7

2. Verifique se as variáveis abaixo possuem nomes corretos e justifique as alter­ nativas falsas: a) n#l d) $din g) nl b) tempo e) n 1 h) U F c) n_l f) K2K i) 2nome

' '

CAPITULO 3 - CONCEITOS BASICOS SOBRE ALGORITMOS 27

3.7

j) dep k) nome2 l) val#r

3. Sabe-se que o uso incorreto da precedência de operadores ocasiona erros.

Pensando nisso, avalie as expressões a seguir e:

a) classifique a ordem em que as operações deverão ser executadas; b) determine o resultado das operações.

Considere os seguintes valores para as variáveis:

A f- 8· B ' f- 5· C f- -4 · D f-' ' 2 a) Del ta f- B2 - 4 * A * c b) J f- "Hoje" <> "HOJE" c) Media f- ( A + B + C + D ) I 4 d) Medi a f- A + B + C + D I 4 e) Resultado f- A mod D I 5

D

Resultado f- (A mod D ) I 5 g) X f- ( A + B ) - 1 O * C h) X f- A + B - 10 * C i) Y f- A > 8 . e . B + C > D j) Y f- A > 3 * 2 . ou . B + C <>

D

/