Aula 2

Data de publicação: Jan 08, 2013 8:51:21 PM

1.5. Estruturas de controlo

As estruturas de controlo usadas em JavaScript são as mesmas que as utilizadas nas linguagens C e C++. Servem para controlarmos as sequências das acções realizadas pelo nosso código.

1.5.1.Estrutura de decisão IF-ELSE:

(...)

if (condição)

{ < bloco de instruções >; }

else

{ < bloco de instruções >; }

(...)

Esta estrutura de controlo é utilizada quando pretendemos executar acções distintas dependendo da condição imposta. Por exemplo, num sistema de passagem de cartão magnético numa porta de segurança é verificado se o cartão é válido. Se assim for a porta abre, caso contrário mostra um erro de cartão inválido.

if (cartão válido)

{abre a porta;}

else

{mostra mensagem de erro;}

EXERCÍCIO PRÁTICO 3 (IF)

Expressões condicionais if

Implementar o uso de expressões condicionais

<html> <body> <script> discos = 6 if (discos == 6)

{ alert("É verdade. Temos meia dúzia de discos")

} </script> </body> </html>

O if é a mais básica das expressões condicionais no JavaScript. Com ele, pode decidir se quer executar uma ação ou não.

Entendendo o código:

discos = 6

Faz com que a variável "discos" receba o número 6.

if (discos == 6) { alert("É verdade. Temos meia dúzia de discos") }

O código acima é uma expressão condicional if.

Vamos analisar:

if (discos == 6) { alert("É verdade. Temos meia dúzia de discos") }

Esta é a expressão condicional. Se ela for verdadeira (no caso, se discos for igual a seis), entraremos no bloco de código. A seguir, temos a estrutura de um bloco de código.

if (discos == 6) { alert("É verdade. Temos meia dúzia de discos") }

Abre o bloco de código. Este é conjunto de operações que se deseja realizar. Reforçando, só estaremos a executar esta parte se a condicional for verdadeira.

if (discos == 6) { alert("É verdade. Temos meia dúzia de discos") }

Mostra uma janela de aviso com o seguinte texto: É verdade. Temos meia dúzia de discos

if (discos == 6) { alert("É verdade. Temos meia dúzia de discos") }

Fecha o conjunto de operações.

Agora pode fazer experiências, trocando o "discos = 6" por "discos = 10" ou qualquer outro valor que não seja 6.

Já que a condicional não vai ser verdadeira, ele simplesmente não entra no bloco do código que faz o alert("É verdade. Temos meia dúzia de discos").

EXERCÍCIO PRÁTICO 4 (IF...ELSE)

Expressões condicionais if else

Utilizar o else, quando o if não for verdadeiro

<html> <body> <script> discos = 22 if (discos == 6) { alert("É verdade. Temos meia dúzia de discos") } else { alert("Não é verdade. Temos outra quantidade de discos") } </script> </body> </html>

Neste exemplo utilizando o if else.

Leia-se: Se (if) o número de discos for igual a 6, faça alert("É verdade. Temos meia dúzia de discos"). Senão (else), faça alert("Não é verdade. Temos outra quantidade de discos").

1.5.2. Estrutura de decisão é SWITCH-CASE:

(...)

switch (expressão)

{

case valor1: <bloco de instruções>; break;

case valor2: <bloco de instruções>; break;

(...)

case valorN: <bloco de instruções>; break;

default: <bloco de instruções>;

}

(...)

Esta estrutura pode ser utilizada nas mesmas circunstâncias da anterior, embora seja mais indicada para situações onde existam mais que duas opções. Por exemplo, ao preenchermos um questionário on-line perguntam-nos, de entre uma lista de 5 desportos, qual é o nosso preferido. De seguida, o programa irá fazer uma análise estatística baseado nos resultados desta pergunta. Para o fazer tem de analisar qual a resposta dada pelo utilizador. Neste caso pode-se utilizar uma estrutura switch-case.

(...)

switch (resposta)

{

case futebol: futebol +1; break;

case basquetebol: basquetebol +1; break;

case andebol: andebol +1; break;

case voleibol: voleibol +1; break;

case ténis: ténis +1; break;

default: mensagem de erro;

}

(...)

Para garantir que a estrutura de decisão apenas executa um dos "case", no final de cada um existe a instrução break. No caso de nenhuma das opções se verificar existe uma secção da estrutura que nos permite colocar uma instrução a executar por defeito (default).

EXERCÍCIO PRÁTICO 5 (SWITCH...CASE)

Expressões seletoras switch

Usar o switch para condições de comparações simples, ao invés de utilizar o if

<html> <body> <script> farol = "amarelo" switch (farol) { case "vermelho": alert("Pare") break case "amarelo": alert("Atencao") break case "verde": alert("Prossiga") break default: alert("Cor ilegal") } </script> </body> </html>

Atenção, não esquecer do break!

Inclua sempre um default. Se todas as condições anteriores forem falsas, o switch entrará no default. Ele é muito importante. O sistema de telefones dos Estados Unidos já foi uma vez paralisado, por várias horas, por causa da falta de um default!