Example #1
0
        private void start_Click(object sender, EventArgs e)
        {
            try
            {
                if (IsValidNumber(M.Text) && IsValidNumber(A.Text) && IsValidNumber(R0.Text))
                {
                    double a  = Convert.ToDouble(A.Text);
                    double m  = Convert.ToDouble(M.Text);
                    double r0 = Convert.ToDouble(R0.Text);

                    if (m <= a)
                    {
                        MessageBox.Show("Параметр M должен быть больше A");
                        return;
                    }

                    Lehmer        l       = new Lehmer(a, m, r0);
                    List <double> xValues = l.getValues(N);


                    Calculations calc = new Calculations(xValues);
                    Mx.Text    = (calc.getMx()).ToString("0.0000000");
                    Dx.Text    = (calc.getDx()).ToString("0.0000000");
                    Sigma.Text = (calc.getSigma()).ToString("0.0000000");

                    DrawDiagrams(xValues);

                    p.Text     = (calc.getPeriod()).ToString();
                    La.Text    = (calc.getAperiodLength()).ToString();
                    check.Text = (calc.check()).ToString();
                }
                else
                {
                    MessageBox.Show("Некорректные входные параметры");
                }
            }
            catch
            {
                MessageBox.Show("Извините, произошла ошибка");
            }
        }
Example #2
0
        private void Calculate_button_Click(object sender, EventArgs e)
        {
            try
            {
                if (IsValidNumber(M.Text) && IsValidNumber(A.Text) && IsValidNumber(R0.Text))
                {
                    double a  = Convert.ToDouble(A.Text);
                    double m  = Convert.ToDouble(M.Text);
                    double r0 = Convert.ToDouble(R0.Text);

                    if (m <= a)
                    {
                        MessageBox.Show("Параметр M должен быть больше A");
                        return;
                    }

                    Lehmer        l       = new Lehmer(a, m, r0);
                    List <double> rValues = l.getValues(N);
                    List <double> xValues = new List <double>();

                    if (radioButton_uniform.Checked)
                    {
                        xValues = Distribution.UniformDistribution(rValues, Convert.ToInt32(textBox3.Text), Convert.ToDouble(textBox1.Text), Convert.ToDouble(textBox2.Text));
                        DrawEvaluationDiagram2(xValues, Convert.ToDouble(textBox1.Text), Convert.ToDouble(textBox2.Text), 0.06);
                    }
                    else if (radioButton_gauss.Checked)
                    {
                        xValues = Distribution.GaussDistribution(rValues, Convert.ToInt32(textBox3.Text), Convert.ToDouble(textBox1.Text), Convert.ToDouble(textBox2.Text));
                        xValues.Sort();
                        DrawEvaluationDiagram2(xValues, Math.Truncate(xValues.First()) - 1, Math.Truncate(xValues.Last()) + 1, 0.3);
                    }
                    else if (radioButton_exp.Checked)
                    {
                        xValues = Distribution.ExponentialDistribution(rValues, Convert.ToInt32(textBox2.Text), Convert.ToDouble(textBox1.Text));
                        xValues.Sort();
                        DrawEvaluationDiagram2(xValues, Math.Round(xValues.First(), 3), Math.Round(xValues.Last(), 3), 0.6);
                    }
                    else if (radioButton_gamma.Checked)
                    {
                        xValues = Distribution.GammaDistribution(rValues, Convert.ToInt32(textBox3.Text), Convert.ToDouble(textBox1.Text), Convert.ToDouble(textBox2.Text));
                        xValues.Sort();
                        DrawEvaluationDiagram2(xValues, Math.Round(xValues.First(), 3), Math.Round(xValues.Last(), 3), 0.6);
                    }
                    else if (radioButton_triangle.Checked)
                    {
                        xValues = Distribution.TriangleDistribution(rValues, Convert.ToInt32(textBox3.Text), Convert.ToDouble(textBox1.Text), Convert.ToDouble(textBox2.Text));
                        xValues.Sort();
                        DrawEvaluationDiagram2(xValues, Math.Round(xValues.First(), 3), Math.Round(xValues.Last(), 3), 0.2);
                    }
                    else if (radioButton_simpson.Checked)
                    {
                        xValues = Distribution.SimpsonDistribution(rValues, Convert.ToInt32(textBox3.Text), Convert.ToDouble(textBox1.Text), Convert.ToDouble(textBox2.Text));
                        xValues.Sort();
                        DrawEvaluationDiagram2(xValues, Math.Round(xValues.First(), 3), Math.Round(xValues.Last(), 3), 0.2);
                    }

                    Calculations calc = new Calculations(xValues);
                    Mx2.Text    = (calc.getMx()).ToString("0.0000000");
                    Dx2.Text    = (calc.getDx()).ToString("0.0000000");
                    Sigma2.Text = (calc.getSigma()).ToString("0.0000000");
                }
                else
                {
                    MessageBox.Show("Некорректные входные параметры");
                }
            }
            catch
            {
                MessageBox.Show("Извините, произошла ошибка");
            }
        }