Генерация случайных чисел

Формирование устойчивой последовательности псевдослучайных чисел с использованием метода "середины квадрата". Разработка программы для определения среднего значения чисел, среднего значения квадратов чисел и дисперсии для последовательности из 20 чисел.

Рубрика Программирование, компьютеры и кибернетика
Вид лабораторная работа
Язык русский
Дата добавления 21.01.2015
Размер файла 1,4 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Государственное бюджетное образовательное учреждение среднего профессионального образования

Владимирской области

«Владимирский авиамеханический колледж»

Специальность 09.02.03

Программирование в компьютерных системах

Дисциплина «Математическое моделирование»

Лабораторная работа № 3

Тема: Генерация случайных чисел

Пояснительная записка

ВАМК.09.02.03.БЛР-112 ПЗ

Выполнил: ________ /А.С. Никитин /

Проверил: ___________/ А.Е. Петров /

Владимир 2014

Цель работы: научиться строить последовательности псевдослучайных чисел и определять их близость к истинным законам распределения случайных чисел.

Оборудование: ПЭВМ, методические указания по выполнению лабораторной работы.

Задание: Сформировать устойчивую последовательность псевдослучайных чисел, используя метод «середины квадрата». Для последовательности из 20 чисел определить среднее значение чисел, среднее значение квадратов чисел и дисперсию.

Листинг программного кода (основной процедуры)

программа последовательность середина квадрат

namespace WindowsFormsApplication1

{public partial class Form1 : Form

{public Form1()

{InitializeComponent();

}

private void button1_Click(object sender, EventArgs e)

{

double m1 = 0;

double m2 = 0;

double d = 0;

double o1 = 0, o2 = 0, o3 = 0;

textBox2.Text = "";

double x = Convert.ToDouble(maskedTextBox1.Text);

m1 = x/10000;

m2 = Math.Pow(x/10000,2);

for (int i=1; i <= 30; i++)

x = Math.Pow(x, 2);

string sx = Convert.ToString(x);

if (sx.Length == 7)

{

sx = sx.Remove(0, 1);

sx = sx.Remove(4, 2);

}

if (sx.Length == 8)

{

sx = sx.Remove(0, 2);

sx = sx.Remove(4, 2);

}

x = Convert.ToDouble(sx);

if ((x < 1000) || (x > 9999))

{ textBox2.Text = textBox2.Text + "Ошибка"+Environment.NewLine; return; }

else

{ textBox2.Text = textBox2.Text + sx + Environment.NewLine; }

m1 = m1 + x / 10000;

m2 = m2 + Math.Pow(x / 10000, 2);

}

m1 = m1 / 30;

m2 = m2 / 30;

d = m2 - Math.Pow(m1,2);

o1 = Math.Abs(m1 - 0.5) / 0.5;

o2 = Math.Abs(m2 - 0.33333) / (0.33333);

o3 = Math.Abs(d - 0.08333) / (0.08333);

textBox1.Text = Convert.ToString(Math.Round(m1,3));

textBox4.Text = Convert.ToString(Math.Round(m2,3));

textBox5.Text = Convert.ToString(Math.Round(d,3));

textBox6.Text = Convert.ToString(Math.Round(o1,3));

textBox7.Text = Convert.ToString(Math.Round(o2,3));

textBox8.Text = Convert.ToString(Math.Round(o3,3));

private void button2_Click(object sender, EventArgs e)

{

if (maskedTextBox2.Text == "")

{

MessageBox.Show("Ошибка");

return;

}

else

{

double n = Convert.ToDouble(maskedTextBox2.Text);

if ((n < 1000) || (n > 9999) || (maskedTextBox2.Text == ""))

{

MessageBox.Show("Ошибка");

return;

}

else

{

textBox3.Text = "";

for (double chi = n; chi <= n + 100; chi++)

{

int o = 0;

double ch = chi;

for (int i = 1; i <= 30; i++)

{

ch = Math.Pow(ch, 2);

string sch = Convert.ToString(ch);

if (sch.Length == 7)

sch = sch.Remove(0, 1);

sch = sch.Remove(4, 2);

}

if (sch.Length == 8)

{

sch = sch.Remove(0, 2);

sch = sch.Remove(4, 2);

}

ch = Convert.ToDouble(sch);

if ((ch >= 1000) && (ch <= 9999))

{ o = o + 1; }

if (o == 30)

{ textBox3.Text = textBox3.Text + chi + Environment.NewLine;

Результаты работы программы:

Размещено на Allbest.ru


Подобные документы

  • Характеристика вероятностного алгоритма и особенности его использования. Принцип работы и назначение генератора случайных чисел, сущность псевдослучайных чисел. Рассмотрение и реализация метода середины квадрата, разработка алгоритма и его кодирование.

    курсовая работа [50,3 K], добавлен 18.09.2009

  • Написание программы для генерации случайных чисел, в которой реализуются возможности генерации абсолютно случайных чисел. Приложение на языке С/С++. Описание узла, содержащего данные; функций и методов работы; чтения данных из памяти и вывода их на экран.

    курсовая работа [172,4 K], добавлен 23.05.2012

  • Способы получения случайных чисел в программировании и их использование для решения ряда задач. Принцип действия и тестирование работы генератора случайных чисел в Borland C++, его преимущества. Генерация одномерной и двумерной случайной величины.

    лабораторная работа [105,4 K], добавлен 06.07.2009

  • Основные подходы при создании Windows приложений. Изучение навыков работы с 2D графикой в Windows приложениях. Методы генерации псевдослучайных чисел. Разработка игры "Сапер" с расположением мин на основе нескольких методов генерации случайных чисел.

    курсовая работа [63,2 K], добавлен 18.02.2009

  • Проектирование датчика случайных чисел, пригодного для моделирования случайной последовательности с заданным законом распределения. Методы моделирования. Разработка алгоритма и программы датчика. Исследование свойств выработанной им последовательности.

    лабораторная работа [124,2 K], добавлен 15.06.2010

  • Структура и функции генератора случайных чисел. Методы предельного уменьшения ошибки второго рода. Усиление шумового сигнала. Его дискретизация по времени и аналого-цифровое преобразование. Формирование случайной последовательности и ее корреляция.

    курсовая работа [299,4 K], добавлен 11.12.2014

  • Применение случайных чисел в моделировании, выборке, численном анализе, программировании и принятии решений. Понятие равномерного распределения вероятности. Способы получения последовательности. Правила выбора модуля. Критерий Колмогорова-Смирнова.

    курсовая работа [1,3 M], добавлен 17.03.2011

  • Программа для формирования и просмотра команды для олимпиады по программированию. Генератор случайных чисел в Borland C++, методы их получения. Линейный конгруэнтный метод. Метод Фибоначчи, вихря Мерсенна. Тестирование псевдослучайных последовательностей.

    курсовая работа [93,5 K], добавлен 27.09.2014

  • Преобразование чисел из естественной формы в нормализованную. Алгоритм нормализации числа. Способы кодирования чисел и действия над ними. Особенности прямого, дополнительного, смещенного и обратного кода. Понятие вещественных чисел, их представление.

    презентация [42,6 K], добавлен 14.06.2011

  • Анализ способов построения генераторов случайных чисел для криптографических задач. Анализ генератора случайных чисел на основе магнитометров. Анализ статистических свойств двоичных последовательностей, полученных путем квантования данных магнитометра.

    дипломная работа [2,5 M], добавлен 06.05.2018

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.