public DistribuicaoBinomialEntity Build(DistribuicaoBinomialEntity entidade) { if (entidade.InputSemDefeito == false) { entidade.P = (entidade.N - entidade.SucessoInput) / entidade.N; } else { entidade.P = entidade.SucessoInput / entidade.N; } entidade.Q = 1 - entidade.P; entidade.K = RetornaK(entidade.KInput, entidade.TipoEntrada, entidade.N); entidade.KProbabilidade = CalculoK(entidade); entidade.Media = Media(entidade); entidade.DesvioPadrao = DesvioPadrao(entidade); return(entidade); }
public void Input() { var elemento = new DistribuicaoBinomialEntity { N = 20, KInput = 18, TipoEntrada = 2 }; var build = new DistribuicaoBinomialApp().Build(elemento); var elemento2 = new DistribuicaoBinomialEntity { N = 20, KInput = 15, TipoEntrada = 0 }; var build2 = new DistribuicaoBinomialApp().Build(elemento2); }
public double DesvioPadrao(DistribuicaoBinomialEntity entidade) { return(Math.Round(Math.Sqrt((double)(entidade.N * entidade.P * entidade.Q)), 2)); }
public decimal Media(DistribuicaoBinomialEntity entidade) { return(Math.Round(entidade.N * entidade.P, 2)); }
public List <Tuple <int, decimal, DistribuicaoBinomialCalculoEntity> > CalculoK(DistribuicaoBinomialEntity entidade) { var listaCalculosK = new List <Tuple <int, decimal, DistribuicaoBinomialCalculoEntity> >(); foreach (var K in entidade.K) { /* N[fatorial] - K[fatorial] * (N - K [Fatorial]) */ var calculobase = MathCoreApp.Fatorial(entidade.N) / (MathCoreApp.Fatorial(K) * MathCoreApp.Fatorial(entidade.N - K)); var calculoA = Math.Pow((double)entidade.P, K); var calculoB = Math.Pow((double)entidade.Q, (double)(entidade.N - K)); var calculoFinal = (decimal)(calculobase * calculoA * calculoB) * 100; var calculo = new DistribuicaoBinomialCalculoEntity() { A = $"{entidade.N}", B = $"{K}", C = $"{entidade.N - K}", D = $"{(double)entidade.P}", E = $"{(double)entidade.Q}", }; listaCalculosK.Add(new Tuple <int, decimal, DistribuicaoBinomialCalculoEntity>((int)K, Math.Round(calculoFinal, 2), calculo)); } return(listaCalculosK); }
public ActionResult Index(DistribuicaoBinomialEntity distribuicao, FormCollection form) { return(View(new DistribuicaoBinomialApp().Build(distribuicao))); }