LabMM3 - Aula teórica 06
-
Upload
carlos-santos -
Category
Education
-
view
1.076 -
download
1
Transcript of LabMM3 - Aula teórica 06
![Page 1: LabMM3 - Aula teórica 06](https://reader034.fdocument.pub/reader034/viewer/2022042607/559d26e11a28abdf518b4600/html5/thumbnails/1.jpg)
JavaScript: Decisões... decisões
Carlos SantosLabMM 3 - NTC - DeCA - UAAula 06, 29-09-2011
![Page 2: LabMM3 - Aula teórica 06](https://reader034.fdocument.pub/reader034/viewer/2022042607/559d26e11a28abdf518b4600/html5/thumbnails/2.jpg)
E o talvez?
![Page 3: LabMM3 - Aula teórica 06](https://reader034.fdocument.pub/reader034/viewer/2022042607/559d26e11a28abdf518b4600/html5/thumbnails/3.jpg)
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.
![Page 4: LabMM3 - Aula teórica 06](https://reader034.fdocument.pub/reader034/viewer/2022042607/559d26e11a28abdf518b4600/html5/thumbnails/4.jpg)
Operadores de comparação
a < boperando esquerdo operando direito
operador
true false
“O valor de a é menor do que o valor de b?
![Page 5: LabMM3 - Aula teórica 06](https://reader034.fdocument.pub/reader034/viewer/2022042607/559d26e11a28abdf518b4600/html5/thumbnails/5.jpg)
Operadores de comparação
Operador Significado
==
<
>
<=
>=
!=
igual
menor
maior
menor ou igual
maior ou igual
diferente (não igual)
![Page 6: LabMM3 - Aula teórica 06](https://reader034.fdocument.pub/reader034/viewer/2022042607/559d26e11a28abdf518b4600/html5/thumbnails/6.jpg)
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; //?
![Page 7: LabMM3 - Aula teórica 06](https://reader034.fdocument.pub/reader034/viewer/2022042607/559d26e11a28abdf518b4600/html5/thumbnails/7.jpg)
Operadores de comparação: precedências
Operadores Precedência
<, >, <=, >=
==, !=
mais elevada
menos elevada
![Page 8: LabMM3 - Aula teórica 06](https://reader034.fdocument.pub/reader034/viewer/2022042607/559d26e11a28abdf518b4600/html5/thumbnails/8.jpg)
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; //?
![Page 9: LabMM3 - Aula teórica 06](https://reader034.fdocument.pub/reader034/viewer/2022042607/559d26e11a28abdf518b4600/html5/thumbnails/9.jpg)
Tantos iguais?
Operador Significado
=
==
===
atribuição
comparação: igual
comparação: igual com verificação de tipo de dados
![Page 10: LabMM3 - Aula teórica 06](https://reader034.fdocument.pub/reader034/viewer/2022042607/559d26e11a28abdf518b4600/html5/thumbnails/10.jpg)
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
![Page 11: LabMM3 - Aula teórica 06](https://reader034.fdocument.pub/reader034/viewer/2022042607/559d26e11a28abdf518b4600/html5/thumbnails/11.jpg)
Operadores lógicos
Operador Significado
&&
||
!
AND (E)
OR (OU)
NOT (NEGAÇÃO)
![Page 12: LabMM3 - Aula teórica 06](https://reader034.fdocument.pub/reader034/viewer/2022042607/559d26e11a28abdf518b4600/html5/thumbnails/12.jpg)
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.
![Page 13: LabMM3 - Aula teórica 06](https://reader034.fdocument.pub/reader034/viewer/2022042607/559d26e11a28abdf518b4600/html5/thumbnails/13.jpg)
Tabelas de verdade: AND
a b a && b
TRUE TRUE
FALSE TRUE
TRUE FALSE
FALSE FALSE
TRUE
FALSE
FALSE
FALSE
![Page 14: LabMM3 - Aula teórica 06](https://reader034.fdocument.pub/reader034/viewer/2022042607/559d26e11a28abdf518b4600/html5/thumbnails/14.jpg)
Tabelas de verdade: OR
a b a || b
TRUE TRUE
FALSE TRUE
TRUE FALSE
FALSE FALSE
TRUE
TRUE
TRUE
FALSE
![Page 15: LabMM3 - Aula teórica 06](https://reader034.fdocument.pub/reader034/viewer/2022042607/559d26e11a28abdf518b4600/html5/thumbnails/15.jpg)
Tabelas de verdade: NOT
a !a
TRUE
FALSE
FALSE
TRUE
![Page 16: LabMM3 - Aula teórica 06](https://reader034.fdocument.pub/reader034/viewer/2022042607/559d26e11a28abdf518b4600/html5/thumbnails/16.jpg)
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; //?
![Page 17: LabMM3 - Aula teórica 06](https://reader034.fdocument.pub/reader034/viewer/2022042607/559d26e11a28abdf518b4600/html5/thumbnails/17.jpg)
Como tomar decisões?
Se (condição)false
true
![Page 18: LabMM3 - Aula teórica 06](https://reader034.fdocument.pub/reader034/viewer/2022042607/559d26e11a28abdf518b4600/html5/thumbnails/18.jpg)
O que fazer? (1)
Se (condição)false
true
instruções;
![Page 19: LabMM3 - Aula teórica 06](https://reader034.fdocument.pub/reader034/viewer/2022042607/559d26e11a28abdf518b4600/html5/thumbnails/19.jpg)
O que fazer? (2)
Se (condição)false
true
instruções;
instruções;
![Page 20: LabMM3 - Aula teórica 06](https://reader034.fdocument.pub/reader034/viewer/2022042607/559d26e11a28abdf518b4600/html5/thumbnails/20.jpg)
O que fazer? (3)
Se (condição)false
true
instruções;
Se (condição2)
false
true
![Page 21: LabMM3 - Aula teórica 06](https://reader034.fdocument.pub/reader034/viewer/2022042607/559d26e11a28abdf518b4600/html5/thumbnails/21.jpg)
if ...
if (condição)
instrução;
if (condição) {
instruções;
}
![Page 22: LabMM3 - Aula teórica 06](https://reader034.fdocument.pub/reader034/viewer/2022042607/559d26e11a28abdf518b4600/html5/thumbnails/22.jpg)
if ... else
if (condição)
instrução1;
else
instrução2;
if (condição) {
instruções1;
} else {
instruções2;
}
![Page 23: LabMM3 - Aula teórica 06](https://reader034.fdocument.pub/reader034/viewer/2022042607/559d26e11a28abdf518b4600/html5/thumbnails/23.jpg)
if ... else if ... (múltiplos)
if (condição1) {
instruções1;
} else
if (condição2){
instruções2;
} else {
instruções3;
}
![Page 24: LabMM3 - Aula teórica 06](https://reader034.fdocument.pub/reader034/viewer/2022042607/559d26e11a28abdf518b4600/html5/thumbnails/24.jpg)
Como tomar decisões múltiplas?
valor1
variável
valorN
default
![Page 25: LabMM3 - Aula teórica 06](https://reader034.fdocument.pub/reader034/viewer/2022042607/559d26e11a28abdf518b4600/html5/thumbnails/25.jpg)
switch
switch (n) {
case 1:
instruções1;
break;
case 2:
instruções2;
break;
default:
instruções se n é diferente de 1 e 2;
}