labmm3 - aula teórica 06

25
JavaScript: Decisões... decisões Carlos Santos LabMM 3 - NTC - DeCA - UA Aula 06, 29-09-2011

Upload: carlos-santos

Post on 08-Jul-2015

1.077 views

Category:

Education


1 download

TRANSCRIPT

Page 1: LabMM3 - Aula teórica 06

JavaScript: Decisões... decisões

Carlos SantosLabMM 3 - NTC - DeCA - UAAula 06, 29-09-2011

Page 2: LabMM3 - Aula teórica 06

E o talvez?

Page 3: LabMM3 - Aula teórica 06

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

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

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

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

Operadores de comparação: precedências

Operadores Precedência

<, >, <=, >=

==, !=

mais elevada

menos elevada

Page 8: LabMM3 - Aula teórica 06

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

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

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

Operadores lógicos

Operador Significado

&&

||

!

AND (E)

OR (OU)

NOT (NEGAÇÃO)

Page 12: LabMM3 - Aula teórica 06

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

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

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

Tabelas de verdade: NOT

a !a

TRUE

FALSE

FALSE

TRUE

Page 16: LabMM3 - Aula teórica 06

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

Como tomar decisões?

Se (condição)false

true

Page 18: LabMM3 - Aula teórica 06

O que fazer? (1)

Se (condição)false

true

instruções;

Page 19: LabMM3 - Aula teórica 06

O que fazer? (2)

Se (condição)false

true

instruções;

instruções;

Page 20: LabMM3 - Aula teórica 06

O que fazer? (3)

Se (condição)false

true

instruções;

Se (condição2)

false

true

Page 21: LabMM3 - Aula teórica 06

if ...

if (condição)

instrução;

if (condição) {

instruções;

}

Page 22: LabMM3 - Aula teórica 06

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

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

Como tomar decisões múltiplas?

valor1

variável

valorN

default

Page 25: LabMM3 - Aula teórica 06

switch

switch (n) {

case 1:

  instruções1;

  break;

case 2:

  instruções2;

  break;

default:

  instruções se n é diferente de 1 e 2;

}