Calcular Média de um Número Variável de Notas (Arrays, laço FOR e FOR...IN)

Neste tutorial de nossa apostila de JavaScript, vamos resolver um exercício que propomos no tutorial anterior, de laços FOR IN em arrays, onde vamos aprender como calcular a média de uma turma, qualquer que seja o número de alunos que tenha nela, usando arrays, laços FOR e FOR IN.


Enunciado do Exercício



Sua tia, professora, encomendou um trabalho para você.

Ela quer que você crie um script que vai pedir o número de alunos da turma (peça via prompt mesmo).

Em seguida, vai perguntar qual foi a nota de cada um deles.

No final, seu script deve fornecer a média geral da turma.

Use array para armazenar as notas, laço FOR para preencher cada elemento do array e um laço FOR IN para calcular a soma das notas (cálculo necessário para calcular a média).

Resolução comentada

Primeiro, perguntamos o número de alunos na turma, via comando prompt e nos transformamos a string recebida em um número inteiro, via função parseInt, e armazenamos na variável alunos.

Agora, vem um pulo do gato. Vamos criar nosso vetor, de nome vetor, fazendo:
var vetor = new Array(alunos);

Ou seja, vamos alocar um vetor de memória com alunos elementos, e esse valor é variável, você que vai decidir quando digitar a quantidade de alunos, ok?

Agora, precisamos preencher esse vetor com a nota dos alunos.
Vamos pegar um laço FOR que vai de 0 até alunos (menor que), com sua variável count.



Lembre-se que:
aluno 1 -> índice 0
aluno 2 -> índice 1
...
alunos i -> índice i-1

Por isso usamos (count + 1) no prompt. Para preencher a posição alunos[count] mostramos sempre pro usuário o valor count+1, pois em programação nossa contagem começa sempre no 0.

Agora, com todo o array populado de valores, vamos calcular a soma de todos os elementos.
Vamos inicializar uma variável soma com valor 0.

Agora, vamos usar um laço FOR IN, que vai pegar desde o primeiro até o último índice, e vamos somar o elemento correspondente com a variável soma.

Por fim, para achar a média, basta dividir pelo número de alunos, armazenado na variável alunos.

Código da questão resolvida

HTML:

<!DOCTYPE html>
<meta charset="UTF-8">
<html>
 <head>
    <title>Apostila JavaScript Progressivo</title>
    <script type="text/javascript" src="script.js"></script>
 </head>
 <body onload="main()">
 </body>
</html>


script.js
function main()
{
 var alunos =  parseInt(prompt("Numero de alunos: "));
 var vetor = new Array(alunos);

 // Preenchendo o veotr
 for(let count=0; count<alunos; count++)
  vetor[count] = parseInt( prompt("Aluno " + (count+1) + ":") )
 

 // Somando todos os elementos
 var soma=0;
 for(let count in vetor)
  soma += vetor[count];

 var media = soma/alunos;
 document.write("Média da turma: " + media);
}

Nenhum comentário:

Postar um comentário