Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Dúvida] Eu fiz a média Geral dentro do escopo do for, podem conferir o código?

Boa tarde, tudo bem com vocês?

Eu vi que no exercício do professor Evaldo termina fazendo a média dos três arrays fora do escopo do for. E eu pensei, por que não tentar botar DENTRO do escopo?

Formato do exercício:

const notas1 = [10, 6.5, 8 ,7.5]
const notas2 = [9, 6, 6]
const notas3 = [8.5, 9.5]

const notasGerais = [notas1,notas2,notas3]

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)

O jeito que pensei para calcular a média "geral" dos três arrays:

const notas1 = [10 , 6.5, 8 ,7.5];
const notas2 = [9  , 6  , 6];
const notas3 = [8.5, 9.5];

const notasGerais = [notas1,notas2,notas3];

let mediaGeral = 0;

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

console.log(`A média dessa matriz é de ${mediaGeral}.`);

Só tenho a dúvida se da forma que eu fiz tem algum problema estrutural (variável no escopo errado ou desnecessário) ou passível de problema de segurança... Enfim, está seguro o jeito que eu fiz?

1 resposta
solução!

Nesse caso ai creio que tanto faz a forma como é feito. Acho que o professor optou pela primeira forma pra tornar mais simples a compreensão do código, mas na programação tem várias formas de fazer a mesma coisa. Respondendo também as perguntas sobre o escopo da variável e segurança, não tem diferença basicamente entre o seu código e o dele, pois a variável que recebe a média de tudo está global. E com relação a segurança, nesse contexto ai é irrelevante.