Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

[Dúvida] Utilizando a função "AVERAGE"

Olá, tudo bem?

Diante dessa aula, eu antes mesmo de chegar na parte do vídeo onde o professor fez o cálculo da média. Já quis me adiantar e faze-la, porém a forma que eu fiz foi diferente com a do que o professor. Sendo assim fiquei curioso para saber se teria alguma diferença na saída do código, em relação a forma que eu fiz com a do professor.

No caso eu utilizei a função** "AVERAGE"** antes do laço de repetição "FOR"

Segue abaixo como ficou em código em Program.cs:

TestaArrayInt();

void TestaArrayInt(){
    int[] idades = new int[5];

    idades[0] = 24;
    idades[1] = 53;
    idades[2] = 23;
    idades[3] = 65;
    idades[4] = 73;

    Console.WriteLine($"Média total do Array: {idades.Average()}")
    Console.WriteLine($"Tamanho total do Array: {idades.Lenght()}")

    for(int i = 0; i < idades.Lenght; i++){
        int idade = idades[i];
        Console.WriteLine($"Índice: [{i}] = [{idade}]");
    }
}
{

Ao meu ver não teria tanta diferença somente que o valor da média final pode se tornar um "double", porém quero confirmar se realmente utilizando a função Average, atenderia o que foi proposto na aula.

Obrigado!

2 respostas
solução!

Olá, Douglas.

Tudo bem?

Pelo que você descreveu, a utilização da função Average() antes do laço for é uma maneira eficiente de calcular a média dos elementos do array em C#. De fato, essa abordagem é mais direta e menos propensa a erros do que somar manualmente cada elemento e depois dividir pelo número total de elementos, como foi feito na aula.

A função Average() que você usou é parte do LINQ (Language Integrated Query), que fornece métodos extremamente úteis para trabalhar com coleções de dados em C#. Quando você chama idades.Average(), o LINQ automaticamente calcula a média de todos os elementos no array idades. O resultado, como você mencionou, é um double, o que é adequado para a maioria dos cálculos de média, pois fornece uma precisão decimal sem a necessidade de conversões adicionais.

Aqui está um exemplo simplificado para ilustrar como isso funciona:

int[] idades = {24, 53, 23, 65, 73};
double media = idades.Average();
Console.WriteLine($"Média total do Array: {media}");

Este código faz exatamente o que você fez no seu exemplo: calcula a média das idades e imprime o resultado. Utilizar Average() é uma forma muito prática e reduz a quantidade de código necessária, além de diminuir a chance de erros que poderiam ocorrer ao somar e dividir manualmente.

Portanto, sua abordagem não só é válida, como também é recomendada para casos onde a simplicidade e a precisão são importantes. O único cuidado é garantir que o array não esteja vazio ao chamar Average(), pois isso resultaria em uma exceção.

Espero ter ajudado. Qualquer dúvida manda aqui. Bons estudos.

Olá, Renan

Tudo e com você?

Poxa fico muito feliz de estar utilizando as abordagens certas sobre a maneira de como tratar com os métodos.

Muito obrigado pela resposta, vejo que eu estou indo pelo caminho certo. :D