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!