Найдите исполнителя для вашего проекта прямо сейчас!
Разместите заказ на фриланс-бирже и предложения поступят уже через несколько минут.

Задание на программу:

Разработать многопоточную программу, демонстрирующую решение приведённой ниже задачи, используя объекты синхронизации и функции ожидания (описаны в прилагающейся статье).

Условия задачи:

Представьте, что вы стали участником игры, в которой вы находитесь перед тремя дверями. Ведущий, о котором известно, что он честен, поместил за одной из дверей автомобиль, а за двумя другими дверями — по козе. У вас нет никакой информации о том, что за какой дверью находится. Ведущий говорит вам: «Сначала вы должны выбрать одну из дверей. После этого я открою одну из оставшихся дверей, за которой находится коза. Затем я предложу вам изменить свой первоначальный выбор и выбрать оставшуюся закрытую дверь вместо той, которую вы выбрали вначале. Вы можете последовать моему совету и выбрать другую дверь, либо подтвердить свой первоначальный выбор. После этого я открою дверь, которую вы выбрали, и вы выиграете то, что находится за этой дверью.»

НАПРИМЕР.

Вы выбираете дверь номер A. Ведущий открывает дверь номер B и показывает, что за ней находится коза. Затем ведущий предлагает вам выбрать дверь номер C. Увеличатся ли ваши шансы выиграть автомобиль, если вы последуете его совету?

Требования:

1. Игроку и ведущему должны соответствовать собственные потоки (threads).

2. Во время проведения серии экспериментов потоки не должны прерываться.

3. Информация о том, что находится за каждой из дверей, должна храниться в локальных переменных функции потока "ведущего".

4. Обмен информацией через глобальные переменные между потоками должен быть синхронизирован с помощью объектов синхронизации и функций ожидания.

Требования к интерфейсу программы:

1. Должны быть предусмотрены возможности: начать эксперимент, приостановить, прервать, возобновить.

Или, иначе, предварительно задать количество опытов.

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

3. Должна выводиться полная информация о текущих значениях результата эксперимента (количество игр, количество выигрышей, количество проигрышей, расчётная вероятность выигрыша, расчётная вероятность проигрыша).

Visual Studio C++

Срок 3 дня

14 лет назад
LiderJob
Иван 
40 летРоссия
16 лет в сервисе
Был
3 года назад
  • Похожие заказы
  • Здравствуйте, есть движок интернет журнала на html+flash (исходники есть). Есть пример работы, http://bigmag.net/ у них как я знаю стоит такая же флешка т.е. исходник думаю такой же. Нужно сделать коммпилятор или найти решение т.е. написать программу для ...

    Прикладное ПО1 исполнитель
    Закрыт
    14 лет назад
  • $20

    Задача заключается в следующем: Необходимо написать программу, которая могла бы осуществлять выводы из существующих правил. Пример: Даны три правила- 1. Все птицы летают. 2. Пингвин - птица. 3. Пингвин не летает. В случае, если человек вводит в ...

    Прикладное ПО1 исполнитель
    Завершен
    14 лет назад
  • $30

    Добрый день! Требуется человек, который на глубоком уровне понимает устройство струйного принтера. Задача - описать процессы, происходящие от пуска файла в печать (из фотошопа) до выхода готового листа и перехода принтера в режим ожидания. Т.е. нужно объяснить мне ...

    Закрыт
    14 лет назад
  • $5000

    Необходимо разработать Torrent-клиент, аналог Vuze (http://vuze.com). Основные требования: - полностью уникальный дизайн - базовые функции торрент-клиента (начать/остановить/восстановить закачку) - управление закачками/раздачами (интерфейс аналогичен Vuze) - поиск торрентов по ключевым словам (опять же, аналог Vuze - тут есть детали, подробнее при ...

    Закрыт
    14 лет назад
  • Нужна программа для ведения клиентской базы страхового брокера (полисы ОСАГО и Каско) , с функциями печати страховых полисов ОСАГО, расчёта стоимости КАСКО по нескольким страховым компаниям ( сами калькуляторы есть)

    Закрыт
    14 лет назад
  • Требуется разработка модуля настройки и учета статистики для игрового клуба на базе действующего приложения. работа только для Харьковчан! подробности по телефону 0503436325 или при личной встрече.

    Прикладное ПОнет заявок
    Закрыт
    14 лет назад
  • Есть софт со стандартным дизайном, нужно натянуть новый дизайн (исходники в psd) 1) Проект на QT С++. 2) Все формы сделанные в QT Designer Дизайн не очень сложный. Ищется человек с опытом работы с GUI и натяжкой ...

    Закрыт
    14 лет назад
  • $250

    Умение программы склoнять правильно слова в предложении. Пишите в личку если что непонятно обсудим. Жду предложений. Основная часть темы, это склонение каждого слова - прилаг, сущ, глаголы. во все формы падежей

    Закрыт
    14 лет назад