Last active
August 29, 2015 14:07
-
-
Save valdiney/9d2087b9da30ffb829ea to your computer and use it in GitHub Desktop.
Passo1: Construa um algoritmo que receba o sexo e a altura de N pessoas, armazenem esses dados em estruturas temporárias. Passo2: Calcule a altura média de todas as pessoas cadastradas. Passo3: Encontre a maior altura cadastrada. Passo4: Calcule a altura média das mulheres e a altura média dos homens. Passo5: Descubra a quantidade de mulheres ca…
This file contains hidden or 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
<meta charset="utf-8"> | |
<script> | |
window.onload = function() { | |
"use strict" | |
var masculino = [], | |
feminino = [], | |
todosOsDados = [], | |
sexo = 0, | |
altura = 0; | |
function recolheOsDados() { | |
while(sexo != 'fim' || sexo != 'Fim' || sexo != 'FIM') { | |
sexo = prompt('Qual é o seu sexo?'), | |
altura = prompt('Qual é a sua altura?'); | |
if (sexo === 'M' || sexo === 'm') { | |
masculino.push(altura); | |
} | |
else if (sexo === 'F' || sexo === 'f') { | |
feminino.push(altura); | |
} | |
else { | |
console.log('Sexo indefinido'); | |
break; | |
} | |
} | |
} | |
function TodasAsAlturas() { | |
for (var cont = 0; cont < masculino.length; cont++) { | |
todosOsDados.push(masculino[cont]); | |
} | |
for (var cont = 0; cont < feminino.length; cont++) { | |
todosOsDados.push(feminino[cont]); | |
} | |
} | |
function alturaMediaGeral() { | |
var soma = 0, | |
media = 0; | |
for (var cont = 0; cont < todosOsDados.length; cont++) { | |
soma += Number(todosOsDados[cont]); | |
} | |
media = soma / 100; | |
return Number(media.toFixed(3)); | |
} | |
function maiorAlturaEncontrada() { | |
var maior = todosOsDados[0]; | |
for (var cont = 0; cont < todosOsDados.length; cont++) { | |
if (maior < todosOsDados[cont]) { | |
maior = todosOsDados[cont]; | |
} | |
} | |
return Number(maior); | |
} | |
function alturaMediaFeminina() { | |
var soma = 0, | |
media = 0; | |
for (var cont = 0; cont < feminino.length; cont++) { | |
soma += Number(feminino[cont]); | |
} | |
media = soma / 100; | |
return Number(media.toFixed(3)); | |
} | |
function alturaMediaMasculina() { | |
var soma = 0, | |
media = 0; | |
for (var cont = 0; cont < masculino.length; cont++) { | |
soma += Number(masculino[cont]); | |
} | |
media = soma / 100; | |
return Number(media.toFixed(3)); | |
} | |
function quantidadeDeHomens() { | |
return masculino.length; | |
} | |
function quantidadeDeMulheres() { | |
return feminino.length; | |
} | |
function mostraResultados() { | |
recolheOsDados(); | |
TodasAsAlturas(); | |
console.log('Media das alturas cadastradas ' + alturaMediaGeral()); | |
console.log('Maior altura encontrada' + maiorAlturaEncontrada()); | |
console.log('Altura media das mulheres ' + alturaMediaFeminina()); | |
console.log('Altura media dos homens' + alturaMediaMasculina()); | |
console.log('Quantidade de homens cadastrados ' + quantidadeDeHomens()); | |
console.log('Quantidade de mulheres cadastradas ' + quantidadeDeMulheres()); | |
} | |
mostraResultados(); | |
} | |
</script> |
This file contains hidden or 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
///////////////////////////////////////////////////////// | |
/* | |
Função para testes unitários. | |
Com está função é possível testar cada função do programa separadamente | |
Os testes são: | |
-> Comparação de valores retornados | |
-> Comparação de tipo de dados retornado | |
*/ | |
//////////////////////////////////////////////////////// | |
function testeUnitario(valorEsperado,retorno,tipoDedado) { | |
if (retorno != valorEsperado) { | |
console.log('(Erro) é esperado ' + valorEsperado + ' mas retornou ' + retorno); | |
} | |
else { | |
console.log('Passou no teste de comparação de valores, é esperado ' + valorEsperado + ' e retornou ' + retorno); | |
} | |
if (typeof(retorno) !== tipoDedado) { | |
console.log('(Erro) é esperado ' + tipoDedado + ' mas retornou ' + typeof(retorno)); | |
} | |
else { | |
console.log('Passou no teste de tipos, é esperado ' + tipoDedado + ' e retornou ' + typeof(retorno)); | |
} | |
} | |
testeUnitario(0.066, alturaMediaFeminina(), "number"); | |
//////////////////////////////////////////////////////// | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment