Exemple #1
0
        //Operacion para la Distribucion Binomial
        public void Operacion()
        {
            int        auxiliar         = 0;
            Resultados datos            = new Resultados();
            double     PA               = 0;
            int        contador         = 0;
            double     UltimoResultado  = 0;
            double     UltimoResultado2 = 0;

            chart1.Palette = ChartColorPalette.Pastel;
            chart1.Titles.Add("Representacion Grafica");
            ChartArea CA = chart1.ChartAreas[0];

            CA.AxisX.ScaleView.Zoomable       = true;
            CA.CursorX.AutoScroll             = true;
            CA.CursorX.IsUserSelectionEnabled = true;


            chart2.Palette = ChartColorPalette.Pastel;
            chart2.Titles.Add("%");

            chart3.Palette = ChartColorPalette.Pastel;
            chart3.Titles.Add("% Acumulado");

            if (opcionDisitribucion == "Binomial")
            {
                resultados = metodos.DistribucionBinomial(P, n, X);
                if (opcionDistribucion2 != "Muestreo")
                {
                    PT = 0;
                }
            }
            else if (opcionDisitribucion == "Hipergeometrica")
            {
                if (n >= (N * 0.20))
                {
                    resultados = metodos.DistribucionHipergeometrica(n, (int)P, N, X);
                }
                else
                {
                    if (entero)
                    {
                        P = P / 100;
                    }
                    MessageBox.Show("Calculo con Distribucion Binomial");
                    resultados = metodos.DistribucionBinomial(P, n, X);
                }


                if (opcionDistribucion2 != "Muestreo")
                {
                    PT = 0;
                }
            }
            else if (opcionDisitribucion == "Comparacion")
            {
                if (opcionDistribucion2 != "Muestreo")
                {
                    PT = 0;
                }

                resultados  = metodos.DistribucionBinomial((P / 100), n, X);
                comparacion = metodos.DistribucionHipergeometrica(n, (int)P, N, X);
                //Aca nos quedamos
            }


            //Aca incluimos lo de la comparacion
            if (opcionDisitribucion == "Comparacion")
            {
                datos            = metodos.resultados(comparacion, opcionRes, X);
                UltimoResultado2 = datos.result;
            }

            if (X1 != 0 && X2 != 0)
            {
                datos           = metodos.Resultado2(resultados, X1, X2, opcionRes);
                UltimoResultado = datos.result;
                Mediana         = datos.mediana;
            }
            else
            {
                datos           = metodos.resultados(resultados, opcionRes, X);
                UltimoResultado = datos.result;
                Mediana         = datos.mediana;
                // UltimoResultado = metodos.resultados(resultados,opcionRes, X);
            }
            Media     = metodos.Media(n, P);
            TipoSesgo = metodos.TipoSesgo(Media, Mediana);
            chart1.Series.Add("x" + "       " + "f(x)");
            chart2.Series.Add("x" + "       " + "%");
            chart3.Series.Add("x" + "       " + "% Acumulado");
            Respuesta  = UltimoResultado;
            Respuesta2 = UltimoResultado2;
            bool res = Double.IsNaN(Respuesta);

            if (res)
            {
            }
            else
            {
                for (int i = 0; i < resultados.Length; i++)
                {
                    //Titulos

                    Series serie  = chart1.Series.Add(i + " . " + resultados[i].ToString());
                    Series serie2 = chart2.Series.Add(i + " . " + (resultados[i] * 100).ToString());
                    Series serie3;

                    //Cantidades
                    // serie.Label = resultados[i].ToString();
                    if (contador == 0)
                    {
                        PA = resultados[i];
                        if (PT != 0 && (PA * 100) <= ((double)PT * 100))
                        {
                            dataGridView1.Rows.Add(contador, resultados[i], resultados[i], resultados[i] * 100, resultados[i] * 100);
                            dataGridView1.Rows[i].DefaultCellStyle.BackColor = Color.Yellow;
                        }
                        else
                        {
                            dataGridView1.Rows.Add(contador, resultados[i], resultados[i], resultados[i] * 100, resultados[i] * 100);
                        }
                        serie3 = chart3.Series.Add(i + " . " + (PA * 100).ToString());
                    }
                    else
                    {
                        PA     = resultados[i] + PA;
                        serie3 = chart3.Series.Add(i + " . " + (PA * 100).ToString());
                        if (PT != 0 && (PA * 100) <= ((double)PT * 100))
                        {
                            dataGridView1.Rows.Add(contador, resultados[i], PA, resultados[i] * 100, PA * 100);
                            dataGridView1.Rows[i].DefaultCellStyle.BackColor = Color.Yellow;
                            auxiliar = i;
                        }
                        else
                        {
                            if (auxiliar != 0)
                            {
                                dataGridView1.Rows[auxiliar].DefaultCellStyle.BackColor = Color.LightGreen;
                            }
                            dataGridView1.Rows.Add(contador, resultados[i], PA, resultados[i] * 100, PA * 100);
                        }
                    }

                    ///    auxiliar = 0;
                    chart1.Series[0].Points.AddXY(contador, resultados[i]);
                    // serie.Points.AddXY(contador, resultados[i]);
                    chart2.Series[0].Points.AddXY(contador, resultados[i] * 100);
                    chart3.Series[0].Points.AddXY(contador, PA * 100);
                    contador++;
                }
            }
            button2.Visible = true;
            button3.Visible = true;
            button4.Visible = true;
        }