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