3
respostas

**Tem diferença,um jeito é mais certo ou algo do tipo, entre:

Tem diferença,um jeito é mais certo ou algo do tipo, entre:

for(i=0;i<notas.length;i++){ somaMedias=somaMedias+notas[i]; }

console.log(somaMedias/notas.length);

E

for(i=0;i<notas.length;i++){ somaMedias=somaMedias+notas[i]/notas.length; }

console.log(somaMedias);

Desde já agradeço.

3 respostas

Oi Mateus, como vai?

São duas formas possíveis de resolver, não existe uma mais certa que a outra. Eu escolheria a segunda forma, deixaria apenas a variável que será exibida dentro do console.log.

Caso tenha quaisquer comentários ou dúvidas a respeito de alguma aula ou desafio, pode postar aqui no fórum que vamos te responder!

Abraços e bons estudos!

Boa Tarde Mateus, tudo bem?

Não existe uma maneira "mais correta" de resolver um problema em programação, se o seu codigo resolve o problema então esta correto, e nesse caso ambos os codigos vão chegar no mesmo resultado.

O que podemos usar para decidir por um ou por outro é o desempenho do codigo, ou o quanto de tempo que vai demorar para executar o seu codigo, como esse é um codigo pequeno, não vai fazer muita diferença, mas podemos analiza-lo. No codigo

for(i=0;i<notas.length;i++){
        somaMedias=somaMedias+notas[i]; 
}
console.log(somaMedias/notas.length);

para cada vez que o for() é executado temos uma soma e uma atribuição, e no final 1 divisão, então se tivermos 100 notas, por exemplo, vamos ter:

  • 100 somas
  • 100 atribuições
  • 1 divizão

Já neste segundo caso:

for(i=0;i<notas.length;i++){
        somaMedias=somaMedias+notas[i]/notas.length; 
}
console.log(somaMedias);

para cada vez que o for() é executado temos uma divizão, uma soma e uma atribuição, então se tivermos 100 notas, por exemplo, vamos ter:

  • 100 somas
  • 100 atribuições
  • 100 divizões

Então comparando as 2 implementações do código, a primeira vai ser um pouco mais rapida, mas nenhuma diferença muito grande. Vamos começar a perceber essas diferenças se tivermos, algo como, 100 mil notas, onde executamos 99.999 divizões a menos.

Então, de forma geral, não se preocupe com qual codigo é o "mais correto" ou o mais rapido nesse momento, mas sim, se ele resolve o problema proposto, continue com as pesquisas e duvidas, e bons estudos

Agradeço pelas respostas, muito obrigado!!