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. "); } }
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; }