Моделирование процессов презентация

Однорукий бандит // дано: выигрыши v1, v2 и их вероятности p1, p2 int x, y, v; double z = r.NextDouble(); if (z

Слайд 1Программирование на языке высокого уровня
Лекция 14. Моделирование процессов
Кафедра АСОИУ ОмГТУ, 2013
Богатов Р.Н.


Слайд 2Однорукий бандит
// дано: выигрыши v1, v2 и их вероятности p1, p2
int

x, y, v;
double z = r.NextDouble();
if (z <= p1) // джекпот
{
x = 0; y = 7;
v = 5 * v1;
}
else
if (z <= p1 + p2) // средний выигрыш
{
x = y = r.Next(10);
v = 5 * v2;
}
else // проигрыш
{
for (; ; )
{
x = r.Next(10);
y = r.Next(9);
if (x <= y) y++;
if (!(x == 0 && y == 7)) break;
}
v = -5;
}
money += v;
bank -= v;

for (int i = 0; i < Подходов; i++)
{
int остаток = Начальный_капитал, игр = 0;
do
{
int v;
double z = r.NextDouble();
if (z <= p1) // джекпот
v = 5 * v1;
else
if (z <= p1 + p2) // средний выигрыш
v = 5 * v2;
else
v = -5;
остаток += v;
игр++;
} while (остаток >= 5 &&
остаток <= Начальный_капитал);
}


Слайд 3У ковбоев только один час…
Четыре ковбоя убегают от индейцев и оказываются

у пропасти, через которую перекинут старый верёвочный мост. Идти по нему можно только с лампой, которая имеется в единственном экземпляре, и выдержать мост может только двоих. Силы у ковбоев на исходе, и чтобы переправиться, им требуется по 25, 20, 10 и 5 мин. каждому соответственно. Успеют ли ковбои переправиться за один час? Пример переправы: max(5, 10) + 5 + max(5, 20) + 5 + max(5, 25) = 65 мин.

bool[] set;
int[] T = new int[] { 5, 10, 20, 25 };
int time;

private void button1_Click(object sender, EventArgs e)
{
set = new bool[] { true, true, true, true };
time = 0;
if (!forward())
MessageBox.Show("Никакого способа переправы нет!",
"Конец полного перебора");
}

...

bool forward()
{
for (int i = 0; i < 3; i++)
if (set[i])
for (int j = i+1; j <4; j++)
if (set[j])
{
set[i] = set[j] = false;
time += Math.Max(T[i], T[j]);
if (!(set[0] || set[1] || set[2] || set[3]))
if (time <= 60) return true;
else
for (int k = 0; k <4; k++)
if (!set[k])
{
set[k] = true;
time += T[k];
if (forward())
return true;
set[k] = false;
time -= T[k];
}
time -= Math.Max(T[i], T[j]);
set[i] = set[j] = true;
}
return false;
}


Слайд 4Домашнее задание
Вычислить, сколько минимум дней понадобится путнику, чтобы переправиться через пустыню

длиной S км, если за день он может пройти всего 20 км, а еды может взять с собой только на три дня пути. Склады провизии можно делать только в местах ночлега (т.е. через каждые 20 км).

Обратная связь

Если не удалось найти и скачать презентацию, Вы можете заказать его на нашем сайте. Мы постараемся найти нужный Вам материал и отправим по электронной почте. Не стесняйтесь обращаться к нам, если у вас возникли вопросы или пожелания:

Email: Нажмите что бы посмотреть 

Что такое ThePresentation.ru?

Это сайт презентаций, докладов, проектов, шаблонов в формате PowerPoint. Мы помогаем школьникам, студентам, учителям, преподавателям хранить и обмениваться учебными материалами с другими пользователями.


Для правообладателей

Яндекс.Метрика