Você está na página 1de 7

IFPE – Instituto Federal de Pernambuco |

Campus Paulista
Curso: Análise e Desenvolvimento de Sistemas
Professor: Fabrício Cabral
fabricio.cabral@ead.ifpe.edu.br
Disciplina: Introdução à Programação
Atividade: Lista de Exercícios nº 06

Lista de Exercícios 06 – Estruturas de


Repetição

Objetivo
O objetivo desta lista de exercícios é exercitar o estudante na linguagem de
programação JavaScript.

Exercícios
1. [Pares] Desenvolva um programa que solicite um número inteiro n e exiba
em uma única linha, todos os números pares entre 1 até n e a soma destes
números. Exemplo: se o usuário informar o número n = 10, o programa
deverá exibir como resposta “2 + 4 + 6 + 8 + 10 = 30”.

R:
<script>

var num, numPares, soma = 0;


num = parseInt(prompt("Digite um numero qualquer: "));

for (var i = 1; i <= num; i++) {


if (i % 2 == 0) {
numPares = i + "";
soma = soma + i;
} else {
continue;
}

document.write("+ " + numPares + " ");


}

document.write(" = " + soma);

</script>

2. [Intervalo] Desenvolva um programa que leia 150 números inteiros (assuma


que os números informados variam apenas entre 0 a 100) e conte quantos
deles estão nos seguintes intervalos: [0-25], [26-50], [51-75] e [76-100].
Depois, exiba os intervalos e a respectiva quantidade de números
pertencentes a cada intervalo.

R:
<script>

var num, faixa1 = "", soma1 = 0, faixa2 = "", soma2 = 0, faixa3 = "", soma3 = 0,
faixa4 = "", soma4 = 0;

for ( var i = 0; i < 150; i++) {


num = parseInt(prompt("Digite um numero entre 1 e 100:"));
if (num >= 0 && num <= 25) {
faixa1 = faixa1 + num + " ";
soma1++;
} else if (num >= 26 && num <= 50) {
faixa2 = faixa2 + num + " ";
soma2++;
} else if (num >= 51 && num <= 75) {
faixa3 = faixa3 + num + " ";
soma3++;
} else if (num >= 76 && num <= 100) {
faixa4 = faixa4 + num + " ";
soma4++;
} else {
continue;
}
}

document.write("Faixa [0-25] possui " + soma1 + " numeros no intervalo: " + faixa1
+ " " + "<br>");
document.write("Faixa [26-50] possui " + soma2 + " numeros no intervalo: " +
faixa2 + " " + "<br>");
document.write("Faixa [51-75] possui " + soma3 + " numeros no intervalo: " +
faixa3 + " " + "<br>");
document.write("Faixa [76-100] possui " + soma4 + " numeros no intervalo: " +
faixa4 + " " + "<br>");

</script>
3. [Perfeito] Um número inteiro não-negativo n é dito perfeito se este for igual à
soma de seus divisores positivos diferentes de n. Exemplo: se n = 6, este será
perfeito, pois 1 + 2 + 3 = 6. Assim, construa um programa que dado um
número inteiro não-negativo n, verificar se n é perfeito.
R:

<script>

var num, divisores, soma = 0;


num = parseInt(prompt("Digite um numero inteiro nao-negativo: "));

if (num <= 0) {
document.write("Numero invalido!");
} else {
for (var i = 1; i < num; i++) {
if (num % i == 0) {
soma = soma + i;
} else {
continue;
}
}

if (soma == num) {
document.write(num + " eh um numero perfeito!");
} else {
document.write(num + " nao eh um numero perfeito!");
}
}

</script>

4. [Media100] Desenvolva um programa de computador que leia a nota de 100


estudantes e que informe a média destes estudantes.

R:
<script>

var nota, soma = 0, media;

for (var i = 1; i <= 100; i++) {


nota = parseFloat(prompt("Digite a nota do aluno:"));
soma = soma + nota;
}

media = soma/100;

document.write("A media dos alunos foi de: " + media);

</script>
5. [SomaPrimos] Desenvolva um programa que solicite dois números
inteiros naturais a e b e retorne a soma de todos os números primos entre a
e b inclusive.
R:
<script>

var numA, numB, soma = 0;

numA = parseInt(prompt("Digite o primeiro numero:"));


numB = parseInt(prompt("Digite o segundo numero:"));

if (numA == 1) {
numA++;
}

for (var i = numA; i <= numB; i++) {


var ehPrimo = true

for (var j = 2; j < i; j++) {


if (i % j == 0) {
ehPrimo = false;
break;
}
}

if (ehPrimo) {
soma = soma + i;
}
}

document.write("A soma dos numeros primos eh de: " + soma);

</script>

6. [NotasAbaixoMedia] Desenvolva um programa que solicite n notas e informe


quantas notas estão abaixo da média. Observação: o programa deverá
calcular antes a média destas notas.

R:
<script>

var qtdNotas, nota, notaVer, media, somaNotas = 0, somaQtd = 0;

qtdNotas = parseInt(prompt("Digite a quantidade de notas:"));

for (var i = 0; i < qtdNotas; i++) {


nota = parseFloat(prompt("Digite a nota do aluno:"));
somaNotas = somaNotas + nota;
}

media = somaNotas/qtdNotas;
for (var j = 1; j <= qtdNotas; j++) {
notaVer = parseFloat(prompt("Digite a nota " + j + " novamente:"));

if (notaVer < media) {


somaQtd++;
}
}

document.write("A quantidade de notas abaixo da media foi de: " + somaQtd + "
notas");

</script>

7. [Mult3] Desenvolva um programa que efetue a soma de todos os números


ímpares que são múltiplos de três e que se encontram no conjunto dos
números de 1 até 500.

R:
<script>

var soma = 0;

for (var i = 1; i <= 500; i+2) {


if (i % 3 == 0) {
soma = soma + i;
} else {
continue;
}
}

document.write("A soma foi de: " + soma);

</script>

8. [PedraPapelTesoura] Desenvolva um programa que corresponde ao jogo do


pedra, papel ou tesoura com 3 rodadas, mostrando se o ganhador foi o
jogador ou o computador. Observação: para gerar um número aleatório entre
min e max em JavaScript é feito seguindo a seguinte fórmula:
Math.floor(Math.random() * (max - min + 1)) + min
R:
<script>

var jogadaHumano, jogadaMaquina, resultado, empate = 0, vitoriaH = 0, vitoriaM = 0;

for(i = 1; i <= 3; i++) {


jogadaHumano = parseInt(prompt("Digite sua jogada: 1- Pedra, 2- Papel, 3-
Tesoura:"));
jogadaMaquina = Math.floor(Math.random() * (3)) + 1;

if (jogadaHumano == jogadaMaquina) {
empate++;
resultado = "Empate!";
} else if ((jogadaHumano == 1 && jogadaMaquina == 2) || (jogadaHumano == 2 &&
jogadaMaquina == 3) || (jogadaHumano == 3 && jogadaMaquina == 1)) {
vitoriaM++;
resultado = "Vitoria Maquina!";
} else if ((jogadaHumano == 1 && jogadaMaquina == 3) || (jogadaHumano == 2 &&
jogadaMaquina == 1) || (jogadaHumano == 3 && jogadaMaquina == 2)) {
vitoriaH++;
resultado = "Vitoria Humano!";
} else {
document.write("Entrada invalida! ");
break;
}

document.write("Resultado da rodada " + i + ": " + resultado + " --> Humano: " +
jogadaHumano + " Maquina: " + jogadaMaquina + "<br>");
}

if (vitoriaH > vitoriaM && vitoriaH > empate) {


document.write("O resultado final foi: Vitoria Humano com " + vitoriaH + "
vitorias!");
} else if (vitoriaM > vitoriaH && vitoriaM > empate) {
document.write("O resultado final foi: Vitoria Maquina com " + vitoriaM + "
vitorias!");
} else {
document.write("O resultado final foi: Empate com " + empate + " empates!");
}

</script>

9. [Crescimento] Chico tem 1,50m e cresce 2 centímetros por ano, enquanto


Juca tem 1,10m e cresce 3 centímetros por ano. Desenvolva um programa que
calcule e imprima quantos anos serão necessários para que Juca seja maior
que Chico.

R:
<script>

var alturaChico = 1.5, alturaJuca = 1.1, crescimentoChico = 2, crescimentoJuca = 3,


somaAnos = 0;

alturaChico = alturaChico*100;
alturaJuca = alturaJuca*100;
while (alturaChico >= alturaJuca) {
alturaChico = alturaChico + crescimentoChico;
alturaJuca = alturaJuca + crescimentoJuca;
somaAnos++;
}

document.write("O tempo levado para que Juca ficasse maior que Chico foi de: " +
somaAnos + " anos");

</script>

10. [Monge] Uma rainha requisitou os serviços de um monge, o qual exigiu o


pagamento em grãos de trigo da seguinte maneira: os grãos de trigo seriam
dispostos em um tabuleiro de xadrez, de tal forma que a primeira casa do
tabuleiro tivesse um grão, e as casas seguintes o dobro da anterior.
Desenvolva um programa que calcule quantos grãos de trigo a Rainha deverá
pagar ao monge.

R:
<script>

var grao = 1, soma = 0;

for (var i = 1; i <= 64; i++) {


soma = soma + grao;
grao = grao*2;

document.write("A soma total de graos foi de: " + soma + " graos.");

</script>

Você também pode gostar