Lógica Programação 2 - JavaScript - Capítulo 3 - Documentos Google
Lógica Programação 2 - JavaScript - Capítulo 3 - Documentos Google
document.write("<br>");
};
var mostra = function(frase) {
document.write(frase);
pulaLinha();
};
Exercícios:
2) Agora, com esses dois dados, fica fácil calcular o IMC do usuário:
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>
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 = 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
<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>
<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 .
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.
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
<script>
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.
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
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>");
};
<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>
<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.
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.
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>
Comando FOR
<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++;
}
______________________________________________________________________
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.
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
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.
*
**
***
****
*****
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.