|
Лабораторная работа № 1
Тема: Моделирование и обработка вероятностных событий выпадения одной грани N-гранного кубика.
Постановка задачи:
Составить программу, которая моделирует бросание игрального кубика как с симметричными гранями, так и не с симметричными гранями.
Основные требования:
В процессе выполнения лабораторной работы необходимо выполнить следующее:
1. Разработать алгоритм и написать программу, реализующую имитатор бросания кубика с равновероятными и разновероятными выпадениями граней.
2. В автоматическом режиме (производится моделирование бросания кубика с сохранением результатов, объем выборки от 10000 до 50000);
3. Моделирующая программа должна быть написана с обязательным использованием принципов ООП. В качестве объекта (класса) обязательно должен быть описан такой объекты как кубик.
4. Для наглядного отображения полученной информации необходимо предусмотреть вывод полученной статистической информации в табличном виде.
№ грани | Теоретическая вероятность | Количество выпадений грани | Практическая вероятность |
|
|
| |
… |
|
|
|
N |
|
|
|
|
При выполнении работы моделирование «кубика» формируется в виде объекта, основными свойствами которого являются:
1. Количество граней «кубика».
2. Вероятность выпадения каждой грани.
При этом надо помнить. что обязательно должно выполняться следующее условие:
, (1.1)
где k – количество граней кости, pi – вероятность выпадения i-ой грани.
Методами объекта «кубик» будут являться:
1. Инициализация «кубика» с равновероятными гранями.
2. Инициализация «кубика» с разновероятными гранями.
3. Задание (изменение) вероятности выпадения i-ой грани.
4. Проверка корректности задания вероятностей, то есть в обязательном порядке должно выполняться требование, заданное формулой 1.1. Для этого вероятность выпадения старшей грани необходимо рассчитать по формуле:
, (1.2)
Для моделирования «кубика» можно применить единичный вектор – орт, на котором в порядке старшинства номера отложены вероятности выпадения каждой из граней. Это же можно представить в виде колеса рулетки, разделенного на сектора, где площадь каждый сектора будет равна вероятности выпадения той или иной грани, а общая площадь равна единицы. При этом моделирование выпадения той или иной грани сводится к тому, что необходимо получить случайное вещественное число в диапазоне от 0 до 1 подчиняющееся нормированному равномерному закону распределения, которое сопоставляется с единичным вектором, разбитым в нашем случае на k интервалов (граней «кубика»). Номер интервала в котором окажется сгенерированное случайное число и будет отождествляться с результатом броска «кубика».
Для имитации броска «кубика» необходимо заполнить массив границ отрезков, имитирующих вероятность выпадения той или иной грани. Это может быть как двумерный массив размерностью k x 2, так и одномерный массив размерностью k+1. При этом необходимо помнить, что для двумерного массива v[1,1]=0, v[k,2]=1, v[i+1,1]=v[i,2], а для одномерного массива v[1]=0, v[k+1]=1.
Варианты заданий:
№ варианта | Количество граней кубика | Доминирующая грань кубика | |
Грань | Значение | ||
0,5 | |||
0,1 | |||
0,25 | |||
0,6 | |||
0,75 | |||
0,25 | |||
0,15 | |||
0,1 | |||
0,4 | |||
0,5 | |||
0,4 | |||
0,5 | |||
0,5 | |||
0,3 | |||
0,6 | |||
0,5 | |||
0,4 | |||
0,3 | |||
0,2 | |||
0,6 | |||
0,25 | |||
0,15 | |||
0,8 | |||
0,2 | |||
0,5 |
Дата добавления: 2015-10-21; просмотров: 48 | Нарушение авторских прав
<== предыдущая лекция | | | следующая лекция ==> |
Тақырыбы: Автоматты автоблоктау кезінде пайдаланылатын сигнализация жүйелерін зерттеу. | | | Создание простейшей программы на языке Visual С++ |