76 - Adiciona dois métodos à classe criada no exercício anterior:
- O primeiro retorna todas as estatísticas de um número variável de doubles (média, mediana, moda, máximo e mínimo) num tuplo.
- O segundo retorna todas as estatísticas de um número variável de doubles
(média, mediana, moda, máximo e mínimo) em parâmetros
out
.
Ambos os métodos devem fazer uso dos métodos já existentes para cálculo das estatísticas.
Atualiza o método Main()
da classe Program
para testar os dois métodos
novos.
- Método
TupleStats()
:
public static Tuple<double, double, double, double, double>
TupleStats(params double[] nums)
{
return new Tuple<double, double, double, double, double>
(Minimo(nums), Maximo(nums), Media(nums),
Mediana(nums), Moda(nums));
}
- Método
OutStats()
:
public static void OutStats(out double minimo, out double maximo,
out double media, out double mediana, out double moda,
params double[] nums)
{
minimo = Minimo(nums);
maximo = Maximo(nums);
media = Media(nums);
mediana = Mediana(nums);
moda = Moda(nums);
}
Classe Program
:
class Program
{
static void Main(string[] args)
{
double[] nums1 = new double[10] { 2, 1, 3, 23, 5, 6, 7, 4, 1, 1 };
double[] nums2 = new double[9] { 2, 1, 3, 4, 5, 4, 4, 6, 1 };
Tuple<double, double, double, double, double> tupStats1;
Tuple<double, double, double, double, double> tupStats2;
double minimo1, minimo2, maximo1, maximo2, media1, media2,
mediana1, mediana2, moda1, moda2;
Stats.OutStats(out minimo1, out maximo1, out media1, out mediana1,
out moda1, nums1);
Stats.OutStats(out minimo2, out maximo2, out media2, out mediana2,
out moda2, nums2);
Console.WriteLine($"Minimo1: {minimo1}\nMaximo1: {maximo1}\n" +
$"Media1: {media1}\nMediana1: {mediana1}\nModa1: {moda1}\n");
Console.WriteLine($"Minimo2: {minimo2}\nMaximo2: {maximo2}\n" +
$"Media2: {media2}\nMediana2: {mediana2}\nModa2: {moda2}\n");
tupStats1 = Stats.TupleStats(nums1);
tupStats2 = Stats.TupleStats(nums2);
Console.WriteLine($"Minimo1: {tupStats1.Item1}\nMaximo1: " +
$"{tupStats1.Item2}\nMedia1: {tupStats1.Item3}\nMediana1: " +
$"{tupStats1.Item4}\nModa1: {tupStats1.Item5}\n");
Console.WriteLine($"Minimo1: {tupStats2.Item1}\nMaximo1: " +
$"{tupStats2.Item2}\nMedia1: {tupStats2.Item3}\nMediana1: " +
$"{tupStats2.Item4}\nModa1: {tupStats2.Item5}\n");
}
}
Nota: Código de teste para este exercício encontra-se neste repositório.
Por Pedro Inácio.