1
resposta

[Dúvida] Fiz de uma forma diferente

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Fiz de uma forma diferente , porém o resultado não deu o mesmo no meu cod a média final resulta em 7,88.. já no de voces dá 8.

O que posso ter feito de errado?

1 resposta

Oi Mário, tudo bem?

No seu código, você utilizou o spread operator (...) para criar um único array notasQuantidade que contém todas as notas, e depois você percorreu esse array com um único loop for para somar as notas e calcular a média.

O problema aqui é que, ao fazer isso, você está tratando todas as notas como se pertencessem a um único conjunto, sem considerar que elas estão divididas em três grupos diferentes (notas1, notas2, notas3), cada um com uma quantidade diferente de notas. Isso significa que, ao dividir pelo total de notas, você não está levando em conta as diferenças no tamanho de cada grupo de notas, o que pode resultar em uma média incorreta.

Pra calcular a média corretamente, você precisa somar as notas de cada grupo separadamente e depois dividir pelo número de notas em cada grupo, antes de somar as médias dos grupos e dividir pelo número total de grupos. Isso é o que o código fornecido no curso faz, utilizando dois loops for aninhados para percorrer a matriz notasGerais.

O trecho do seu código que precisa ser ajustado:

// Seu código
let media = 0;

for(let i = 0; i < notasQuantidade.length; i++){
  media += notasQuantidade[i];
}

console.log(media/notasQuantidade.length);

E aqui está o trecho de código que realiza a operação corretamente, conforme ensinado no curso:

// Código correto
let media = 0;

for (let i = 0; i < notasGerais.length; i++) {
  for (let j = 0; j < notasGerais[i].length; j++) {
    media += notasGerais[i][j]/notasGerais[i].length;
  }
}

media = media/notasGerais.length;

console.log(media);

Pra corrigir o seu código, você precisará utilizar a estrutura de loops aninhados conforme mostrado no exemplo correto. Isso garantirá que a média seja calculada de forma adequada, considerando a quantidade de notas em cada grupo.

Espero ter ajudado.

Um abraço e bons estudos.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software