Ejemplo n.º 1
0
        private void OnClickGenerar(object sender, EventArgs e)
        {
            try
            {
                gridNumeros.Rows.Clear();

                Int32 m = rdbOpcionMyA.Checked ? txtControlledM.GetStoredInput() : Convert.ToInt32(Math.Pow(2, txtControlledG.GetStoredInput()));
                Int32 a = rdbOpcionMyA.Checked ? txtControlledA.GetStoredInput() : 1 + (4 * txtControlledK.GetStoredInput());

                if (rdbMultiplicativo.Checked && rdbOpcionKyG.Checked)
                {
                    a = 3 + 8 * txtControlledK.GetStoredInput();
                }

                Int32 semilla = txtControlledSemilla.GetStoredInput();
                Int32 c       = rdbMultiplicativo.Checked ? 0 : txtControlledC.GetStoredInput();

                generador = new Generador(semilla, a, c, m);

                List <decimal> lista = generador.Generar(20);
                int            cont  = 1;
                foreach (decimal rnd in lista)
                {
                    DataGridViewRow         fila         = new DataGridViewRow();
                    DataGridViewTextBoxCell iteracion    = new DataGridViewTextBoxCell();
                    DataGridViewTextBoxCell nroAleatorio = new DataGridViewTextBoxCell();
                    iteracion.Value    = cont;
                    nroAleatorio.Value = rnd.ToString("F4");
                    cont++;
                    fila.Cells.Add(iteracion);
                    fila.Cells.Add(nroAleatorio);
                    gridNumeros.Rows.Add(fila);
                }
                btnProximo.Enabled = true;
            }
            catch (ArgumentException ex)
            {
                MessageBox.Show(ex.Message, "ERROR!", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
Ejemplo n.º 2
0
        private void OnClickGenerarChiMixto(object sender, EventArgs e)
        {
            try
            {
                gridRandomsMixto.Rows.Clear();
                gridChiCuadradoMixto.Rows.Clear();

                Stopwatch watch = new Stopwatch();
                watch.Start();

                int semillaMixto = txtControlledSemillaMixto.GetStoredInput();
                int aMixto       = txtControlledAMixto.GetStoredInput();
                int cMixto       = txtControlledCMixto.GetStoredInput();
                int mMixto       = txtControlledMMixto.GetStoredInput();
                int nroMuestra   = txtControlledNroMuestrasMixto.GetStoredInput();

                Generador generadorMixto = new Generador(semillaMixto, aMixto, cMixto, mMixto);


                List <decimal> listaMixtos = generadorMixto.Generar(nroMuestra);

                // Llenando la tabla de Numeros Random Mixto
                for (int i = 0; i < listaMixtos.Count; i++)
                {
                    DataGridViewRow         fila         = new DataGridViewRow();
                    DataGridViewTextBoxCell colIteracion = new DataGridViewTextBoxCell();
                    DataGridViewTextBoxCell colAleatorio = new DataGridViewTextBoxCell();

                    colAleatorio.Value = listaMixtos[i].ToString("F4");
                    colIteracion.Value = i + 1;
                    fila.Cells.Add(colIteracion);
                    fila.Cells.Add(colAleatorio);
                    gridRandomsMixto.Rows.Add(fila);
                }

                // Llenando la tabla de Chi Cuadrado Mixto
                Int32 intervalos = Int32.Parse(cmbIntervalosMixto.Text);
                CalculadorChiCuadrado calculadorChiCuadradoMixto = new CalculadorChiCuadrado(gridChiCuadradoMixto, intervalos, listaMixtos, graficoChiMixto);

                //Metodo que realiza todo el trabajo
                calculadorChiCuadradoMixto.Calcular();

                //Calcular Media y Varianza (Mixto)

                Calculador calculadora = new Calculador(listaMixtos);

                decimal mediaMixto = calculadora.calcularMedia();

                decimal varianzaMixto = calculadora.calcularVarianza();

                panelMixto.Enabled = true;

                lblMediaMixto.Text    = "Media: " + mediaMixto.ToString("F4");
                lblVarianzaMixto.Text = "Varianza: " + varianzaMixto.ToString("F4");


                // Calcular Grados de Libertad (Mixto)

                int gradosLibertadMixto = Convert.ToInt32(cmbIntervalosMixto.SelectedItem) - 1;

                lblGradosLibertadMixto.Text = "Grados de libertad: " + gradosLibertadMixto;

                watch.Stop();
                lblTiempo2.Text = String.Format("{0:00}:{1:00}:{2:00}.{3:00}",
                                                watch.Elapsed.Hours, watch.Elapsed.Minutes, watch.Elapsed.Seconds,
                                                watch.Elapsed.Milliseconds / 10);
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "ERROR!", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }