0% acharam este documento útil (0 voto)
154 visualizações13 páginas

Lógica Programação 2 - JavaScript - Capítulo 3 - Documentos Google

O documento apresenta um código JavaScript para calcular o Índice de Massa Corporal (IMC) de um usuário a partir de seu peso e altura, solicitados via prompt. Ele também cria funções para pular linha, mostrar mensagens e calcular o IMC.

Enviado por

Sérgio Martins
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
154 visualizações13 páginas

Lógica Programação 2 - JavaScript - Capítulo 3 - Documentos Google

O documento apresenta um código JavaScript para calcular o Índice de Massa Corporal (IMC) de um usuário a partir de seu peso e altura, solicitados via prompt. Ele também cria funções para pular linha, mostrar mensagens e calcular o IMC.

Enviado por

Sérgio Martins
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
Você está na página 1/ 13

var pulaLinha = function() {

document.write("<br>");
};
var mostra = function(frase) {
document.write(frase);
pulaLinha();
};

var calculaIMC = function(altura, peso) {


var imc = peso / (altura * altura);
return imc;
};

Exercícios:

1) Crie um arquivo imc.html , criando as três funções ( pulaLinha ,


mostra e calculaIMC ), pergunte a altura e o peso do usuário:

var alturaDoUsuario = prompt("Bom Dia! Qual é a sua altura?");


var pesoDoUsuario = prompt("E o seu peso?");

2) Agora, com esses dois dados, fica fácil calcular o IMC do usuário:

var imcDoUsuario = calculaIMC(alturaDoUsuario, pesoDoUsuario);


mostra("O seu imc é " + imcDoUsuario);
</script>

3) Altere seu código para perguntar o nome do usuário, usando um prompt , e utili-
zar esse nome capturado para perguntar tanto a altura quanto peso

4) O que acontece se você digitar algo que não é um número quando te perguntarem
o peso e a altura? Ou utilizar a vírgula em vez de ponto? Veremos como contornar
esses problemas em outras lições

<script>
var idade = prompt("Quantos anos você tem?");
var dias = idade * 365;
document.write("Você já viveu " + dias + " dias de vida");
</script>

var batimentos = dias * 24 * 60 * 80;


document.write("Seu coração já bateu " + batimentos
+ " vezes. Haja coração!");
1) Em vez de deixar o código var dias = idade * 365 dessa forma, crie uma função que faça
esse cálculo. Você vai precisar declarar, lá em cima, uma var calculaDiasDeVida que vai ser
atribuída à uma function que recebe idade como parâmetro. Com esse dado, você deve
retornar o número de idade vezes 365. Com isso, seu código passará de var dias = idade * 365;
para var dias = calculaDiasDeVida(idade); .

2) Faça o mesmo com a variável de batimentos.


Crie uma função calculaBatimentos que recebe quantos dias a pessoa viveu e faz o cálculo.

3) Agora que temos as duas funções, podemos fazer assim:


var idade = 34;

var dias = calculaDiasDeVida(idade);


var batimentos = calculaBatimentos(dias);
document.write("Seu coração já bateu " + batimentos + " vezes. Haja coração!");

Um pequeno desafio: como fazer, na mesma linha, uma chamada para calculaDiasDeVida ,
pegar esse resultado e passar para a chamada de calculaBatimentos ?

Exemplos:

var vitorias = prompt("Quantos jogos o CDC Futebol Clube venceu?");


var empates = prompt("Quantos jogos o CDC Futebol Clube empatou?");
var pontos = (vitorias * 3) + empates;
mostra("Nosso time tem " + pontos + " pontos!");

var vitorias = 3;
var empates = "1"; // string!
var pontos = vitorias * 3 + empates;
alert(total);

var vitorias = 3;
var empates = "1"; // string!
var empatesComoNumero = parseInt(empates);
var pontos = vitorias * 3 + empatesComoNumero;
alert(total);

var vitorias = 3;
var empates = "1"; // string!
var pontos = vitorias * 3 + parseInt(empates);
alert(total);
Exercícios

O que será impresso no código abaixo:

<script>
var primeira = function() {
console.log("1 - antes");
segunda();
console.log("1 - depois");
};
var segunda = function() {
console.log("2 - antes");
terceira();
console.log("2 - depois");
};
var terceira = function() {
console.log("3");
};
primeira();
</script>

Revise o seu código:

<script>
var vitorias = prompt("Quantos jogos o CDC Futebol Clube venceu?");
var empates = prompt("Quantos jogos o CDC Futebol Clube empatou?");
var pontos = (vitorias * 3) + parseInt(empates);
if(pontos > 28) {
mostra("Nosso time está indo MELHOR que o Livros Velhos!");
}
if(pontos < 28) {
mostra("Nosso time está indo PIOR que o Livros Velhos!");
}

if(pontos == 28) {
mostra("Nosso time está EMPATADO com o Livros Velhos!");
}
</script>
Exercícios

1) Nesse momento, o número de pontos do outro time está fixado em 28. Faça seu
programa perguntar quantas vitórias e empates o outro time também possui e utilize
essas informações para calcular sua pontuação. Para isso, você fará mais duas
perguntas com prompt e calculará uma nova variável pontos_adversario .

2) Crie uma função calculaPontos que recebe o número de vitórias e de empates,


retornando o total de pontos. Declare-a no topo do seu código, dessa forma:

var calculaPontos = function(vitorias, empates) {


return (vitorias * 3) + empates;
};

Agora altere o restante do seu código para que ele passe a utilizá-la, em vez de
escrever o cálculo toda vez. Perceba que você deve já passar os empates depois de
ter aplicado o parseInt na variável que você pegou do prompt.

3) E se a regra do campeonato brasileiro mudasse? Para deixar os times mais agres-


sivos, uma derrota poderia valer -1 ponto. Altere seu programa para que isso
seja contabilizado. Para isso, você vai precisar perguntar também o número de
derrotas do nosso time.
______________________________________________________________________
4) Desenvolva um programa que leia o valor de uma hora (por exemplo, 14 horas e 37
minutos ) e informe quantos minutos se passaram desde o início do dia até aquela
hora. Em seguida, faça uma função para receber as horas e os minutos e retornar os
minutos.

5) Escreva um programa que leia um valor inicial de depósito em uma aplicação


financeira com rendimento de 0,8%. Em seguida, mostre na tela o valor do saldo da
aplicação após cada mês durante 6 meses.

6) Altere a questão anterior de forma que o rendimento também será um


valor fornecido pelo usuário.

7) Escreva um programa JavaScript que leia as quantidades de calorias consumidas


em quatro refeições e mostre na tela o total de calorias consumidas. Desafio: use
somente uma variável para a leitura das calorias.
8) Você fará uma viagem de carro e quer saber quanto deverá gastar com combustível.
Escreva um programa que leia o valor da gasolina, o valor do consumo médio do carro
e a distância a ser percorrida, e calcule o valor a ser gasto com combustível.

9) Em uma festa, todas as pessoas se cumprimentam uma vez. Escreva um programa


C que leia a quantidade de pessoas da festa e exiba a quantidade de cumprimentos.

10) Escreva um programa que leia separadamente três letras e quatro dígitos e os
mostre na tela na forma de uma placa de carro (Ex.: AAA- 9999).

Exemplo

if(imcDoUsuario > 18.5) {


if(imcDoUsuario < 35) {
mostra("OK! Seu IMC está entre os dois limites.");
}
}

if(imcDoUsuario >= 18.5 && imcDoUsuario <= 35) {


mostra("OK! Seu IMC está entre os dois limites.");
}

<script>

var mostra = function(frase) {


document.write(frase + "<br>");
};

var numeroPensado = Math.round(Math.random() * 100);


var chute = prompt("Já pensei. Qual você acha que é?");
if (chute == numeroPensado) {
mostra("Uau! Você acertou, pois eu pensei no " + numeroPensado);
}

if (chute != numeroPensado) {
mostra("Você errou! Eu tinha pensado no " + numeroPensado);
}
</script>
var numeroPensado = Math.round(Math.random() * 100);
var chute = prompt("Já pensei. Qual você acha que é?");
if(chute == numeroPensado) {
mostra("Uau! Você acertou, pois eu pensei no " + numeroPensado);
} else { mostra("Você errou! Eu tinha pensado no " + numeroPensado); }

Exercício

1) Faça com que seu jogo mostre, quando o usuário errar a tentativa, se o número que
ele chutou era maior ou menor ao número pensado pelo programa.

2) Você pode criar uma função sorteia , que recebe um número n e sorteia um número
entre 0 a n , retornando esse valor. Dessa forma, em vez de escrever
var numeroPensado = Math.round(Math.random() * 100);
, você escreveria
var numeroPensado = sorteia(100); . Faça essa modificação, criando
essa nova função e utilizando-a.

3) E se o usuário digitar algo que não é um número? Se ele chutar, por exemplo,
"banana" ? Não seria bom ele perder uma chance de chute… Você pode verificar se o
usuário digitou algo que não é um número através da função isNaN(variavel).
Por exemplo, if(isNaN(chute)) deve mostrar uma mensagem apenas números são
válidos. NaN significa Not a Number, em português algo como “não é um número”.
Teste essa função no console do Chrome, fazendo isNaN("banana"); e isNaN(123);.

4) Escreva um programa que leia quatro números e informe quantos deles são maiores
do que 10 e quantos são menores ou iguais.

5) Escreva um programa JavaScript que exiba uma pergunta e quatro opções de


respostas (a, b, c, d), dentre as quais uma é a correta. O programa deve ler uma letra
do usuário, correspondente à sua resposta, e informar se a resposta está correta,
incorreta ou se a opção escolhida é inválida.

6) Escreva um programa que leia o mês (valor entre 1 e 12) de 2018 e informe quantos
dias ele terá.
7) Você deverá desenvolver uma simples calculadora das quatro operações
aritméticas. O programa deverá ler a operação, o primeiro operando e o segundo
operando, exibindo a resposta em seguida.
Capítulo 5. Repetição

var anoDeCopa = 1930;


alert(anoDeCopa + " tem copa!");
anoDeCopa = anoDeCopa + 4;
alert(anoDeCopa + " tem copa!");

anoDeCopa = anoDeCopa + 4;
alert(anoDeCopa + " tem copa!");
anoDeCopa = anoDeCopa + 4;
alert(anoDeCopa + " tem copa!");

<script>
var anoDeCopa = 1930;
while(true) {
alert(anoDeCopa + " tem copa!");
anoDeCopa = anoDeCopa + 4;
}
</script>

<script>
var anoDeCopa = 1930;
while(anoDeCopa <= 2014) {
alert(anoDeCopa + " tem copa!");
anoDeCopa = anoDeCopa + 4;
}
</script>

<script>
var mostra = function(frase) {
document.write(frase + "<br>");
};

while(anoDeCopa <= 2014) {


mostra(anoDeCopa + " tem copa!");
anoDeCopa = anoDeCopa + 4;
}
</script>

<script>
var mostra = function(frase) {
document.write(frase + "<br>");
};
var anoDeCopa = 1930;
var anoLimite = prompt("Qual é o ano limite?");
while(anoDeCopa <= anoLimite) {
mostra(anoDeCopa + " tem copa!");
anoDeCopa = anoDeCopa + 4;
}
mostra("Ufa! Esses foram os anos de copa até " + anoLimite);
<script>

Qual o problema do código acima ?

<script>
var mostra = function(frase) {
document.write(frase + "<br>");
};
var anoComoTexto = prompt("Informe o ano inicial");
var anoDeCopa = parseInt(anoComoTexto);
var anoLimite = prompt("Qual o ano limite?");
while(anoDeCopa <= anoLimite) {
mostra(anoDeCopa + " é ano de copa!");
anoDeCopa = 4 + anoDeCopa;
}
mostra("Ufa! Esses foram os anos de copa até " + anoLimite);
</script>
Capítulo 5. Exercícios Repetição

1) Agora que conseguimos mostrar os anos de copa, parece que nosso computador
nem se cansou com essa tarefa. Aumente seu programa para mostrar as copas até
2100. Basta trocar o ano limite na condição do while. Abra o arquivo
anos_de_copa.html no seu navegador e veja se ele demorará mais
tempo.

2) Incrível, ele faz todo esse trabalho e não cansa! Imagine se fossemos nós reali-
zando todas essas contas. Você pode até mesmo testar com números grandes,
como 20000, 50000 ou 100000.

while(anoDeCopa <= 100000)

Você pode até perceber um aumento do tempo, mas provavelmente continuará


muito pequeno, apenas o conteúdo mostrado no navegador que deverá ter muito
mais informações.

3) Note que para mudarmos o ano limite, temos que alterar o valor na condição do
while . Ou seja, sempre temos que ficar alterando o arquivo. Vamos deixar isso mais
flexível, perguntando para o usuário qual é o ano limite que ele quer saber se há copa
do mundo.

Aprendemos que podemos perguntar informações para o usuário através do prompt .


Capture o anoLimite através de uma linha como var anoLimite = prompt("Qual é o ano
limite?"); e depois utilize essa variável para fazer seu while . A condição vai ficar
anoDeCopa <= anoLimite .

4) Faça o mesmo programa que mostra os anos de copa, porém para as olimpíadas.
Lembre-se o primeiro ano de olimpíadas foi 1896 e que ela também acontece a cada 4
anos.

5) Faça testes no console do Chrome, como vimos na seção 3.8. Descubra quanto vale
"10"+ 10 , "10"+ "10" , "10"* 10 , "10"* "10" . Deixe sua imaginação criar os mais
variados exemplos e você começará a entender quando o JavaScript faz conta, quando
ele concatena, e quando ele não consegue fazer nenhum dos dois!
<script>
var mostra = function(frase) {
document.write(frase + "<br>");
};
var multiplicador = 1;
while(multiplicador <= 10) {
mostra(7 * multiplicador);
multiplicador = multiplicador + 1;
}
</script>

1) Ao invés de mostrar apenas o número resultante, mostre uma mensagem mais


interessante para cada multiplicação. Algo como: “7 vezes 10 é igual a 70”. Jun-
tando um pouco de texto com números fica fácil de fazer. Bastaria substituir o código
atual que mostra o resultado da multiplicação por:

mostra("7 vezes " + multiplicador + " é igual a " + 7 * multiplicador);

2) Ao invés de sempre realizarmos a tabuada do 7, pergunte ao usuário qual é a tabu-


ada que ele deseja saber. Basta que antes das repetições, você utilize um prompt e
guarde o número informado em uma variável, que deverá ser usada para calcular esse
resultado.

Comando FOR

for(var numero = 1; numero <= 10; numero = numero + 1) {


alert(numero);
}

for([inicialização]; [condição para repetir]; [modificação do valor])

<script>
for(var multiplicador = 1; multiplicador <= 10; multiplicador++) {
document.write(multiplicador * 7);
}
</script>

Exercício: Faça um programa para o usuário escolher qual a tabuada ele quer
imprimir.
var totalDeFamiliares = prompt("Quantos familiares são?");
var somaDeIdades = 0;
var numero = 1;
while(numero <= totalDeFamiliares) {
var idade = parseInt(prompt("Qual é a idade?"));
somaDeIdades = somaDeIdades + idade;
numero++;
}

var media = somaDeIdades / totalDeFamiliares;


alert("A média é: " + media);

______________________________________________________________________

var numeroPensado = Math.round(Math.random() * 100);


var numeroDaTentativa = 1;
while(numeroDaTentativa <= 3) {
var chute = prompt("Qual você acha que é?");
if(chute == numeroPensado) {
alert("Parabéns, você acertou!");
break;
} else {
alert("Você errou. Será que ainda tem mais tentativas?");
}
numeroDaTentativa++;
}

Exercícios

1) Faça com que seu programa mostre quando a tentativa for errada, se o número
“chutado” é maior ou menor ao que o computador pensou. Isso vai valer como
uma boa dica para o usuário conseguir acertar. Lembre-se que para isso, você
terá que usar um outro if , dentro do else que fala que o usuário errou.
2) Faça com que o jogo só termine quando ele acertar. Para isso, a condição da
repetição do while terá que mudar, para que ele faça a repetição infinita.
Após essa mudança, teste seu jogo e veja em quantas tentativas você consegue
descobrir o número.

3) O jogo está fácil demais? Aumente a possibilidade de números que o computador


pode pensar. 1000 pode ser um bom número para começar. Desafie seus amigos
e familiares. Veja quem consegue ficar com o recorde.

4) Há uma forma de escrever esse nosso jogo sem utilizar o break , apenas mudando
a condição do while , adicionando mais uma clausula através do operador que
significa E (o && ). Consegue adivinhar como?

______________________________________________________________________

Exercícios -- LIFE

1) Escreva um programa que leia um valor inteiro n e “desenhe” na tela um


retângulo n x 10 de asteriscos:
**********
**********

2) Escreva um algoritmo para ler as notas da 1a. e 2a. avaliações de um aluno, calcule
e imprima a média (simples) desse aluno. Só devem ser aceitos valores válidos durante
a leitura (0 a 10) para cada nota.

3) Acrescente uma mensagem 'NOVO CÁLCULO (S/N)?' ao final do exercício [2]. Se


for respondido 'S' deve retornar e executar um novo cálculo, caso contrário deverá
encerrar o algoritmo.

4) Escreva um algoritmo para imprimir os números de 1 (inclusive) a 10 (inclusive) em


ordem crescente.

5) Escreva um algoritmo para imprimir os números de 1(inclusive) a 10 (inclusive) em


ordem decrescente.
6) Escreva um algoritmo para imprimir os 10 primeiros números inteiros maiores que
100.

7) Escreva um algoritmo para imprimir os N primeiros números inteiros. Sendo N


informado pelo usuário.

8) Escreva um programa que leia um valor de depósito inicial em uma aplicação


financeira, um valor de juros mensal e um período de meses, exibindo, para cada mês
do período, o saldo da aplicação.

9) Escreva um programa JavaScript que leia um número n e “desenhe” um triângulo


retângulo com base e altura de n asteriscos. O exemplo abaixo considera n = 5.

*
**
***
****
*****

10) Escreva um programa que leia um valor inteiro n e, em seguida, leia n números,
mostrando, ao final, o maior deles. Dica: não precisa armazenar os números lidos.

Você também pode gostar