3. Um computador...
• é capaz de tomar decisões com base na informação recolhida;
• as decisões são tomadas com base em condições;
• todas as condições têm que resultar num valor booleano: true ou false
• normalmente, as condições são construídas tendo por base operadores
de comparação e operadores lógicos.
4. Operadores de comparação
operador
operando esquerdo operando direito
a < b
“O valor de a é menor do que o valor de b?
true false
5. Operadores de comparação
Operador Significado
== igual
< menor
> maior
<= menor ou igual
>= maior ou igual
!= diferente (não igual)
6. Operadores de comparação: exemplos
var a = 5;
var b = 10;
var c = 2;
• Qual o resultado das seguintes comparações?
a > b; //?
b < 50; //?
a >= 10 % 2; //?
a > b > c; //?
7. Operadores de comparação: precedências
Operadores Precedência
<, >, <=, >= mais elevada
==, != menos elevada
8. Operadores de comparação: exemplos
var a = 5;
var b = 10;
var c = 2;
• Qual o resultado das seguintes comparações?
a > b == b < c; //?
9. Tantos iguais?
Operador Significado
= atribuição
== comparação: igual
comparação: igual com verificação de tipo
===
de dados
10. Armazenar resultados de comparações
var age = prompt(“Enter age:”, “”);
var isOverSixty = parseInt(age) > 60;
document.write(“Older than 60: “ + isOverSixty);
//Older than 60: false|true
Exemplo retirado de “Beginning JavaScript”, pág. 54
12. Operadores lógicos: como utilizar
• “A UA tem mais de 45 anos e menos de 50 anos?”
• 45 < idadeUA < 50; //?
• idadeUA > 45 && idadeUA < 50; //?
• NOTA: os operadores lógicos têm menor precedência do que os operadores
de comparação.
13. Tabelas de verdade: AND
a b a && b
TRUE TRUE TRUE
FALSE TRUE FALSE
TRUE FALSE FALSE
FALSE FALSE FALSE
14. Tabelas de verdade: OR
a b a || b
TRUE TRUE TRUE
FALSE TRUE TRUE
TRUE FALSE TRUE
FALSE FALSE FALSE
16. Operadores lógicos: exemplos
var a = 5;
var b = 10;
var c = 2;
• Qual o resultado das seguintes comparações?
a > b && b < c; //?
a < b && b < c; //?
a < b || b < c; //?
a > b && b < c; //?
!(a > c); //?
a < b || b < c && a < c; //?