Example #1
0
        public override float Calcular()
        {
            int    pos        = Math.Abs((Valores.Count / 2) - 1);
            string ValoresCSV = String.Join(",", Valores);

            Valores = Valores.ToList().OrderBy(x => x).ToList();

            Passos.WriteLineAsyncCounter($"Elementos: {ValoresCSV}");
            if (Valores.Count == 1)
            {
                Resultado = Valores[0];
            }
            else if (Valores.Count % 2 != 0)
            {
                Resultado = Valores[Valores.Count / 2];
            }
            else
            {
                Passos.WriteLineAsyncCounter($"Lista de contagem par:");
                Passos.WriteLineAsyncCounter($"Some os dois elementos do centro ({Valores[pos]} e {Valores[pos + 1]}) e divida por 2(dois):");
                Resultado = Math.Abs((Valores[pos] + Valores[pos + 1]) / 2);
                Passos.WriteLineAsync($"$$ \\dfrac{{ {{ {Valores[pos]} + {Valores[pos + 1]} }}  }} {{2}} = \\dfrac{{ {{ {Valores[pos] + Valores[pos + 1]} }}  }} {{2}} = {Resultado} $$");
            }
            Passos.WriteLineAsyncCounter($"{HTMLElements.Hr()} {Titulo("Mediana")}: Valores no centro da lista : {Resultado}");
            return(Resultado);
        }
        public override float Calcular()
        {
            Valores = Valores.ToList().OrderBy(x => x).ToList();
            string ValoresCSV = String.Join(",", Valores);

            Passos.WriteLineAsyncCounter($"{Titulo("Ordene os dados (K):")} {GerarTabelaDeFrequencia()}");

            NumeroDeElementos = Valores.Count;
            ValorMinimo       = CalcularValorMinimo(Valores);
            ValorMaximo       = CalcularValorMaximo(Valores);

            Amplitude = CalcularAmplitudeA(ValorMinimo, ValorMaximo);
            if (Simples)
            {
                QuantidadeIntervalos = ValoresDistintos.Count();
            }
            else
            {
                QuantidadeIntervalos = CalcularQuantidadeIntervalosK(NumeroDeElementos);
            }
            Intervalo = CalcularTamanhoIntervaloH(Amplitude, QuantidadeIntervalos);

            CalcularTodosOsIntervalos();

            Moda.Calcular();
            //Passos.Append(Moda.Passos.ToString());

            Mediana.Calcular();
            //Passos.Append(Mediana.Passos.ToString());

            DesvioPadrao.Calcular();
            //Passos.Append(DesvioPadrao.Passos.ToString());

            Variancia.Calcular();
            //Passos.Append(Variancia.Passos.ToString());

            Media.Calcular();
            //Passos.Append(Media.Passos.ToString());

            CoeficienteVariacao.Calcular();

            Passos.Close();
            return(0f);
        }