private void ButGenerar_Click(object sender, EventArgs e)
        {
            //Se eliminan los datos generados en el cálculo anterior
            if (dataGridView1.Rows.Count > 1)
            {
                dataGridView1.Rows.Clear();
            }

            try
            {
                int limite = 0;
                if (checkBoxLimitar.Checked)
                {
                    limite = int.Parse(TextBoxLimitar.Text);
                }


                X0    = int.Parse(TextboxX0.Text);
                a     = int.Parse(TextBoxA.Text);
                c     = int.Parse(TextBoxC.Text);
                m     = int.Parse(TextBoxM.Text);
                Gen   = new Generador(X0, a, c, m, limite);
                Proms = new Promedios(Gen);


                for (int i = 0; i < Gen.Nums.Length - 1; i++)
                {
                    dataGridView1.Rows.Add(i, Gen.Rows[i, 0], Gen.Rows[i, 1], Math.Round(Gen.Rows[i, 2], 7));
                }

                if (dataGridView1.Rows.Count < 12)
                {
                    dataGridView1.Rows.Add(12 - dataGridView1.Rows.Count);
                }


                FlatButtonPromCheck.Visible = true;


                if (Proms.H0)
                {
                    FlatButtonPromCheck.Text = "Los números están distribuidos uniformemente según la prueba de los promedios. Click para ver detalles.";

                    FlatButtonPromCheck.Iconimage = new Bitmap(Image.FromFile(@"C:\Users\sinoa\source\repos\Simulacion\PseudoGen\PseudoGen\PseudoGen\images\png\ok_48px.png"));
                }
                else
                {
                    FlatButtonPromCheck.Text = "Los números no están distribuidos uniformemente según la prueba de los promedios. Click para ver detalles.";

                    FlatButtonPromCheck.Iconimage = new Bitmap(Image.FromFile(@"C:\Users\sinoa\source\repos\Simulacion\PseudoGen\PseudoGen\PseudoGen\images\png\cancel_48px.png"));
                }
            }
            catch
            {
                MessageBox.Show("Los datos introducidos están incompletos o incorrectos, asegurese de insertar números enteros y rellenar todos los campos requeridos. ");
            }
        }
Example #2
0
        public bool H0;//Hipótesis que indica si los números están uniformemente distribuidos

        public Promedios(Generador gen)
        {
            Alfa     = .05f;
            Za       = 1.96f;
            Gen      = gen;
            Promedio = (float)Gen.Nums.Sum() / ((float)Gen.Nums.Count() - 1);
            Z        = ((Promedio - .5f) * (float)Math.Sqrt(Gen.Nums.Count() - 1)) / (float)Math.Sqrt(1f / 12F);

            H0 = Math.Abs(Z) < Za;
        }
 public DetallePromedios(Generador gen, Promedios prom, int x0, int a, int m, int c)
 {
     InitializeComponent();
     Visible = false;
     Gen     = gen;
     Prom    = prom;
     X0      = x0;
     this.a  = a;
     this.m  = m;
     this.c  = c;
 }