JAVAScript COMPLETO

Transcrição

JAVAScript COMPLETO
JavaScript (ou JScript)
1. Introdução
Uma linguagem como o JavaScript permite criar interfaces interativas na web (permite a
interação do usuário).
Para desenvolver web sites interativos precisamos de uma interface que recebe os dados
do usuário para validação e processamento.
Quando um usuário digita dados em uma interface (um formulário, por exemplo), estes dados
precisam ser validados antes de serem processados, ou seja, é necessário verificar se eles
se encontram no formato correto, se foram preenchidos, etc. (são dados do tipo CEP, CPF, email e outros).
JavaScript – Possibilidade de interatividade do lado do cliente nos documentos web
(validação no lado cliente – Tag SCRIPT) e processamento de dados no lado do servidor
(banco de dados e processamento no servidor – Tag SERVER).
As linguagens de script não são interpretadas pelo processador mas por programas, ou seja,
não precisam ser traduzidas em linguagens de máquina para serem interpretadas pelo
navegador.
O JavaScript é suportado por todas as plataformas, como o Windows e o Macintosh.
2. Programas Seqüenciais Simples
Com a finalidade de exemplificar alguns programas sequenciais escritos na linguagem
JavaScript, serão apresentados a seguir alguns códigos que usam sequências de caracteres
(string), valores inteiros e valores reais.
EXEMPLO
O programa a seguir escrito em código JavaScript lê o nome de uma pessoa a ser fornecido
numa caixa de prompt, armazenando esse nome em uma variável denominada NOME. Em
seguida o programa apresenta uma saudação de boas-vindas à pessoa que informou o nome.
Escreva no Bloco de Notas o código seguinte (note o JavaScript entre as tags <body> e </body>):
01)
<html>
02)
.................................................
03)
<body>
04)
<script type="text/javascript">
05)
// <![CDATA[
06)
/* Script de Boas-vindas */
07)
var NOME;
08)
NOME = prompt('Entre com seu nome:' , 'Digite-o aqui');
09)
document.write('Oi ' + NOME + ' bem vindo!');
10)
// ]]>
11)
</script>
12)
13)
</body>
</html>
Após escrever o código anterior, execute no editor de textos o comando Arquivo/Salvar
Como e defina para o arquivo o nome sauda.html.
Execute no NAVEGADOR (digite sauda.html na barra de endereços) e analise o resultado.
Explicação do programa anterior:
Linhas 04 e 11: tags que delimitam um código javascript.
Linhas 05 e 10: indica para os programas de validação html que o código escrito entre a linha
5 e a linha 10 deve ser ignorado.
Linha 06: comentário no programa, não há processamento.
Linha 07: definição de uma variável chamada NOME (o “;” é obrigatório no final de cada
linha de comando).
Linha 08: o método prompt (pertencente ao objeto window, que será visto com mais
detalhes posteriormente) apresenta uma uma caixa de mensagem de entrada de dados. O
conteúdo digitado será guardado ( = ) na variável NOME. Obs.: o comando poderia ser
window.prompt.
Linha 09: document.write efetua a saída da informação digitada (o nome) formando uma
mensagem de boas vindas através de concatenação ('Oi ' + NOME + ' bem vindo!'). Este
comando apresenta o texto na área do documento html no navegador.
Obs.2: Nomes de Variáveis:
•
Iniciar com letra ou _
•
Podem conter letras, números e sublinhado
•
Podem ter letras maiúsculas ou minúsculas
•
Não pode ter espaços
•
Os nomes são case-sensitive
•
Não podem incluir palavras reservadas (boolean, if, etc)
Obs.3: Tipos de Variáveis:
Numeric (integer ou floating-point); String (armazena caracteres alfanuméricos:
números letras e símbolos especiais); Boolean (armazena os valores lógicos
verdadeiro ou falso).
Obs.4: Declaração de Variáveis:
var nome_da_variável;
var nome_da_variável1, nome_da_variável2, nome_da_variável3, ...
EXERCÍCIO-1
Complete o código abaixo para desenvolver um programa em JavaScript que efetue a leitura
de dois valores inteiros e apresente o resultado da soma deles.
Salve como E1.html, execute no navegador e analise o resultado.
A RESPOSTA FOI A ESPERADA? EXPLIQUE O QUE OCORREU.
<html>
<body>
<script type="text/javascript">
.......................................................................
</script>
</body>
</html>
EXERCÍCIO-2
Tente corrigir o problema ocorrido no exercício-1 sabendo que:
Atenção! A linguagem é
CASE SENSITIVE, ou seja,
parseInt é diferente de parseint
- O método parseInt() captura um valor como numérico inteiro.
- O método parseFloat() captura um valor como numérico real.
Salve como E2.html, execute no navegador e analise o resultado.
EXERCÍCIO-3
Desenvolva um programa em JavaScript que faça o cálculo do salário líquido de um operário
que trabalha por hora.
Para isso, é necessário receber alguns dados, como o valor de uma hora de trabalho, o total
de horas trabalhadas no mês e o percentual de desconto do INSS. O programa deve
apresentar o valor do salário líquido.
Salve como E3.html, execute no navegador e analise o resultado.
EXERCÍCIO-5
A linguagem JavaScript possui um conjunto de recursos matemáticos predefinidos. Para usar
esses recursos, é necessário utilizar o objeto Math e um de seus métodos (que fazem
operações matemáticas pré-definidas).
Exemplos:
Math.PI retorna o valor de pi (3,14...).
Math.cos retorna o cosseno de um número.
Math.random retorna um valor aleatório entre 0 e 1.
Math.sqrt retorna a raiz quadrada de um número.
Desenvolva um programa que apresente como resultado:
Existem muitos outros
métodos para o
objeto Math
O valor da raiz quadrada (Math.sqrt) de um número qualquer inteiro informado pelo usuário
e
o valor sorteado de forma randômica (Math.random) entre 0 e 1.
Obs.: os resultados devem aparecer em linhas diferentes. Utilize a tag <br> (um código html)
no comando document.write('<br>....... ' , variável).
Salve como E5.html, execute no navegador e analise o resultado.
Desafio:
Altere o código do exercício 5 para que os números sorteados estejam entre 0 e 99.
3. Programas com Tomada de Decisão
Uma das mais importantes ações de um programa é a tomada de decisão conforme uma
condição imposta. Uma condição é definida com o auxílio de:
Operadores Relacionais
Símbolo
Significado
==
Igual a
!=
diferente de
>
maior que
<
menor que
>=
maior ou igual a
<=
menor ou igual a
Operadores Lógicos
Símbolo
Significado
&&
E
||
OU
!
NÃO
Estrutura de Decisão Simples
Estrutura de Decisão Composta
if (condição) {
if (condição) {
<instruções para condição verdadeira>; }
<instruções para condição verdadeira>; else {
}
<instruções para condição falsa>;
}
Obs.: a condição deve estar entre parênteses
EXEMPLO
O programa a seguir, escrito em código JavaScript, lê (recebe) três valores (dados de
entrada) para os lados de um triângulo (gravando estes dados nas variáveis A, B e C).
A seguir, verifica se os lados fornecidos (guardados em A, B e C) formam realmente um
triângulo.
Se a condição for verdadeira, ou seja, se os valores em A, B e C puderem formar um
triângulo, o programa deve indicar o tipo de triângulo formado: isósceles (2 lados iguais),
escaleno (todos os lados diferentes) ou equilátero (todos os lados iguais).
Se a condição for falsa, ou seja, se os valores em A, B e C não puderem formar um triângulo,
o programa deve apresentar uma mensagem do tipo: “Não é um triângulo”.
01)
02)
03)
04)
05)
06)
07)
08)
09)
10)
11)
12)
<html>
………………………………
<body>
<script type="text/javascript">
// <![CDATA[
/* Script c/ operadores relacionais e lógicos */
var A = parseFloat(prompt('Informe lado A:',''));
var B = parseFloat(prompt('Informe lado B:',''));
var C = parseFloat(prompt('Informe lado C:',''));
document.write('Lado A: '+ A + '<br>');
document.write('Lado B: '+ B + '<br>');
document.write('Lado C: '+ C + '<br>');
13)
A
14)
B
15)
B
16)
C
17)
D
18)
D
19)
E
20)
E
C
A
21)
F
22)
F
23)
24)
25)
26)
if (A<B+C && B<A+C && C<A+B)
{
if (A==B && B==C)
{
document.write('Triângulo Equilátero');
}
else
{
if (A==B || A==C || C==B)
{
document.write('Triângulo Isósceles');
}
else
{
document.write('Triângulo Escaleno');
}
}
}
else
{
document.write('Não é um Triângulo');
}
// ]]>
</script>
</body>
</html>
Explicação do programa anterior:
Este programa utiliza operadores lógicos e relacionais em uma estrutura de decisão
encadeada (vários IF/ELSE entrelaçados).
O primeiro IF verifica se os valores podem formar um triângulo (linha 13: cada lado precisa
ser menor que a soma dos outros dois).
Se esta condição for verdadeira, o segundo IF verifica se o triângulo é equilátero (linha 14:
se todos os lados são iguais).
Se esta condição não for verdadeira, o terceiro IF verifica se o triângulo é isósceles (linha
17: dois lados iguais).
Se esta terceira condição também não for verdadeira (“else” puro na linha 19), é informado
que o triângulo é escaleno (todos os lados são diferentes).
Se a primeira condição (linha 13: A<B+C && B<A+C && C<A+B) não for verdadeira, ou seja,
se os valores não formam um triângulo, nenhum dos testes (IF) anteriores é executado e a
mensagem “Não é um triângulo” é apresentada (o programa pula da linha 13 diretamente
para a linha 21).
DESAFIO: ALTERE O PROGRAMA ANTERIOR. Use apenas UM ELSE e QUATRO
IF´s para executar o mesmo procedimento.
EXERCÍCIO-6
Sabendo que o comando abaixo apresenta uma mensagem na tela com dois botões (OK e
Cancelar), construa um programa que, apresenta a mensagem “Você acionou: OK” ou “Você
acionou: Cancelar”, conforme o botão clicado pelo usuário.
confirm('Selecione um botão');
Obs.: quando o botão OK é
pressionado, o valor gerado é true
EXERCÍCIO-7
Faça um programa que receba três notas de um aluno, calcule e mostre a média aritmética e
a mensagem constante na tabela a seguir. Aos alunos que ficaram para exame, calcule e
mostre a nota que deverão tirar para serem aprovados, considerando que a média final
exigida para aprovação é 6,0 (média anual + nota exame final = 12).
Média Aritmética
Mensagem
0,0
3,0
Reprovado
3,0
7,0
Exame
7,0
10,0
Aprovado
EXERCÍCIO-8
Obs.: a função Math.round(variável) faz o arredondamento de um número. Exemplos:
Math.round(3,23678) 3; Math.round(3,63454) 4; Math.round(3,23678 * 100)/100 3,24
Faça o valor da média do exercício 7 aparecer sempre com duas decimais (ver 3º exemplo).
EXERCÍCIO-9
Um supermercado deseja alterar (aumentar ou diminuir) os preços de seus produtos.
O produto terá seu preço aumentando ou diminuído conforme preencher pelo menos um dos
requisitos a seguir:
Venda Média Mensal
Preço Atual
% de Aumento
% de Diminuição
< 500
< R$ 30,00
10
-
>= 500 e < 1200
>= R$ 30,00 e < R$ 80,00
15
-
>= 1200
>= R$ 80,00
-
20
Faça um programa que receba a venda média mensal e o preço atual do produto, calcule e
mostre o novo preço.
EXERCÍCIO-10
Faça um programa para resolver equações do 2º grau ax2 + bx + c = 0. Detalhes:
a.
Primeira condição a ser verificada: a variável a deve ser diferente de zero, se não for,
informar “não é equação de 2º grau”.
= b2 – 4 * a * c
b.
c.
Se
< 0, informar: “não existe raiz real”
d.
Se
= 0, informar: “existe uma raiz real” e calcular a raiz: (- b) / (2 * a )
e.
Se
> 0, informar: “existem duas raízes reais” e calcular as raízes:
(- b + V
) / (2 * a )
e
(- b - V
) / (2 * a )