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("Извините, произошла ошибка"); } }
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("Извините, произошла ошибка"); } }