Государственное бюджетное образовательное учреждение среднего профессионального образования
Владимирской области
«Владимирский авиамеханический колледж»
Специальность 09.02.03
Программирование в компьютерных системах
Дисциплина «Математическое моделирование»
Лабораторная работа № 3
Тема: Генерация случайных чисел
Пояснительная записка
ВАМК.09.02.03.БЛР-112 ПЗ
Выполнил: ________ /А.С. Никитин /
Проверил: ___________/ А.Е. Петров /
Владимир 2014
Цель работы: научиться строить последовательности псевдослучайных чисел и определять их близость к истинным законам распределения случайных чисел.
Оборудование: ПЭВМ, методические указания по выполнению лабораторной работы.
Задание: Сформировать устойчивую последовательность псевдослучайных чисел, используя метод «середины квадрата». Для последовательности из 20 чисел определить среднее значение чисел, среднее значение квадратов чисел и дисперсию.
Листинг программного кода (основной процедуры)
программа последовательность середина квадрат
namespace WindowsFormsApplication1
{public partial class Form1 : Form
{public Form1()
{InitializeComponent();
}void button1_Click(object sender, EventArgs e)
{m1 = 0;m2 = 0;d = 0;o1 = 0, o2 = 0, o3 = 0;.Text = "";x = Convert.ToDouble(maskedTextBox1.Text);= x/10000;= Math.Pow(x/10000,2);(int i=1; i <= 30; i++)= Math.Pow(x, 2);sx = Convert.ToString(x);(sx.Length == 7)
{= sx.Remove(0, 1);= sx.Remove(4, 2);
}(sx.Length == 8)
{= sx.Remove(0, 2);= sx.Remove(4, 2);
}= Convert.ToDouble(sx);((x < 1000) || (x > 9999))
{ textBox2.Text = textBox2.Text + "Ошибка"+Environment.NewLine; return; }
{ textBox2.Text = textBox2.Text + sx + Environment.NewLine; }= m1 + x / 10000;= m2 + Math.Pow(x / 10000, 2);
}= m1 / 30;= m2 / 30;= m2 - Math.Pow(m1,2);= Math.Abs(m1 - 0.5) / 0.5;= Math.Abs(m2 - 0.33333) / (0.33333);= Math.Abs(d - 0.08333) / (0.08333);.Text = Convert.ToString(Math.Round(m1,3));.Text = Convert.ToString(Math.Round(m2,3));.Text = Convert.ToString(Math.Round(d,3));.Text = Convert.ToString(Math.Round(o1,3));.Text = Convert.ToString(Math.Round(o2,3));.Text = Convert.ToString(Math.Round(o3,3));void button2_Click(object sender, EventArgs e)
{(maskedTextBox2.Text == "")
{.Show("Ошибка");;
}
{n = Convert.ToDouble(maskedTextBox2.Text);((n < 1000) || (n > 9999) || (maskedTextBox2.Text == ""))
{.Show("Ошибка");;
}
{.Text = "";(double chi = n; chi <= n + 100; chi++)
{o = 0;ch = chi;(int i = 1; i <= 30; i++)
{= Math.Pow(ch, 2);sch = Convert.ToString(ch);(sch.Length == 7)= sch.Remove(0, 1);= sch.Remove(4, 2);
}(sch.Length == 8)
{= sch.Remove(0, 2);= sch.Remove(4, 2);
}= Convert.ToDouble(sch);
((ch >= 1000) && (ch <= 9999))
{ o = o + 1; }(o == 30)
{ textBox3.Text = textBox3.Text + chi + Environment.NewLine;
Результаты работы программы: