Created
May 27, 2019 02:36
-
-
Save gabrielleme00/cd031ee02984a9d39069dc860820fd80 to your computer and use it in GitHub Desktop.
Exercício 22 - Peso médio por faixa etária
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<!DOCTYPE html> | |
<html lang="en"> | |
<head> | |
<meta charset="UTF-8"> | |
<meta name="viewport" content="width=device-width, initial-scale=1.0"> | |
<meta http-equiv="X-UA-Compatible" content="ie=edge"> | |
<title>Ex22</title> | |
</head> | |
<body> | |
<h1>Peso médio por faixa etária</h1> | |
<button id="btn-gerar">Gerar Nova População</button> | |
<br><br> | |
<div id="resultado"></div> | |
<script | |
src="https://code.jquery.com/jquery-3.4.1.min.js" | |
integrity="sha256-CSXorXvZcTkaix6Yvo6HppcZGetbYMGWSFlBw8HfCJo=" | |
crossorigin="anonymous"></script> | |
<script> | |
const output = $('#resultado'); | |
// Retorna um array de objetos com idade e peso aleatórios | |
function gerarPopulacao(quantidade) { | |
let array = []; | |
// Para o quantidade de pessoas | |
for (let i = 0; i < quantidade; i++) { | |
// Cria um novo objeto com idade e peso | |
array.push({idade: 0, peso: 0}); | |
// Atribui idade e pesos aleatórios | |
array[i].idade = Math.ceil(Math.random() * 50 ); | |
array[i].peso = Math.ceil(Math.random() * 100) + 50; | |
} | |
return array; | |
} | |
// Retorna o peso médio da faixa etária de uma população | |
function pesoMedio(populacao, idadeMin, idadeMax) { | |
let media = 0; | |
let quantidade = 0; | |
// Para cada pessoa no array | |
populacao.forEach(pessoa => { | |
// Se a pessoa se encaixa na faixa etária | |
if (pessoa.idade >= idadeMin && pessoa.idade <= idadeMax) { | |
// Contabiliza a idade | |
media += pessoa.idade; | |
quantidade++; | |
} | |
}); | |
// Divide a soma pela quantidade e faz a média | |
media /= quantidade; | |
// Se não houve divisão por 0, retorna o resultado. Senão, retorna 0 | |
if (!isNaN(media)) | |
return media; | |
else | |
return 0; | |
} | |
$('#btn-gerar').click(function() { | |
// Gera uma nova população | |
const pessoas = gerarPopulacao(15); | |
// Logs | |
console.log("Nova população de " + pessoas.length + " pessoas gerada..."); | |
console.log(pessoas); | |
// Limpar output | |
output.text(''); | |
// Mostrar os resultados | |
output.append("<b>De 01 a 10 anos:</b> " + pesoMedio(pessoas, 1, 10) + "<br>"); | |
output.append("<b>De 11 a 20 anos:</b> " + pesoMedio(pessoas, 11, 20) + "<br>"); | |
output.append("<b>De 21 a 30 anos:</b> " + pesoMedio(pessoas, 21, 30) + "<br>"); | |
output.append("<b>De 31 a 99 anos:</b> " + pesoMedio(pessoas, 31, 99) + "<br>"); | |
}); | |
</script> | |
</body> | |
</html> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment