Смоделировать аттракционы

Программа
в среде программирования Visual C# .NET 2010



Если Вы считаете, что данная страница каким-либо образом нарушает Ваши авторские права, то Вам следует обратиться в администрацию нашего сайта по адресу info@kursovik.com либо через форму обратной связи

Среда программирования: Visual C# .NET 2010

Название работы: Смоделировать аттракционы

Вид работы: Программа

Описание: Смоделируйте один день забавного парка, в котором существует 2 вида объектов - люди и карусели (аттракционы).
Парк состоит из одной долгой ровной улицы, по которой люди могут передвигаться в обоих направлениях, и есть на ней входы и выходы каруселей. Координаты местоположения человека, входа и выхода представлены одним числом - расстоянием од входных ворот забавного парка.
Карусели имеют следующие атрибуты:
1. название (однословная цепь, представляющая название аттракциона)
2. цена (цена за 1 езду для одного человека)
3. интенсивность (представляет дикость аттракциона)
4. продолжительность (продолжительность езды)
5. вместительность (количество людей, которые одновременно на карусели)
6. вход (координата входа)
7. выход (координата выхода)
Перед каждой каруселью стоит неограниченная очередь, в которой ждут люди. Карусель в первый раз запускается во времени 0 и потом каждые ПРОДОЛЖИТЕЛЬНОСТЬ минут. Всегда, когда карусель запускается, то возьмёт ВМЕСТИТЕЛЬНОСТЬ людей из своей очереди (если ждёт меньше, то возьмёт всех). Если никто не ждёт, всё равно запуститься (напрасно).
Люди имеют следующие атрибуты:
1. требуемая интенсивность (человек идёт только на езды, которые имеют хотя бы нужную интенсивность)
2. деньги (деньги, которыми платят езды. Если у них мало денег и не могут позволить себе достаточную интенсивность езды, то покинут парк)
3. позиция (координата места, где человек стоит)
Человек всегда выберет тот аттракцион, на который у него есть деньги, интенсивность достаточна, и вход самый близкий к его настоящей локации. Если больше аттракционов удовлетворяет эти критерии, то выберет тот аттракцион, который был раньше определён при размещении аттракционов. Человек встанет в очередь к выбранному аттракциону и ждёт езду. Когда закончит с аттракционом, то появится у его выхода и выберет следующий аттракцион. Если, например, закончит во времени 100 на одном аттракционе, и точно во времени 100 начинается его следующий выбранный аттракцион, перед которым ждёт меньше, чем вместительность людей, то на этот аттракцион успеет.
Если больше людей выберет аттракцион в одинаковое время, то их последовательность, в которой выбирают аттракцион и встают к ним в очередь, зависит от того, где начинался их предыдущий аттракцион. Если это их первый аттракцион, то это зависит от их порядка в задании.
Симуляция закончится в тот момент, когда последний человек покинет парк. Это тогда, когда последний человек закончит свою езду, и у него уже нет денег на езду, которая ему подходит (достаточно интенсивна).
После окончания симуляции нужно выписать время ухода последнего заказчика и статистики аттракционов (сколько людей прокатилось и какой была самая большая очередь, которая стояла перед этим аттракционом).
Входные данные: на первой строке должно быть количество аттракционов, потом на отдельных строках атрибуты аттракционов, разделённые пробелом в одинаковом порядке, как мы их определили выше.
Например:
2
twister 50 17 20 20 5 15
rollerCoaster 100 25 25 50 10 30
Дальше на входе число - количество посетителей, а на следующих строках атрибуты посетителей, разделённые пробелом в порядке, как мы их определили выше.
Например:
3
20 160 14
10 110 22
12 200 5
На выходе для этих значений появляются на первой строке число, представляющее время конца симуляции, а потом на разных строках статистики аттракционов и их название в последовательности: название, количество посетителей, максимальная очередь.
Например:
80
twister 2 1
rollerCoaster 3 2
Пояснение: первый человек пойдёт на rollerCoaste, потому что этот единственный удовлетворяет его требованиям и меньше 100 рублей. Закончит во времени 25 и на следующий rollerCoaster у него уже нет денег, а twister мало интенсивный, поэтому пойдёт домой. Второй человек пойдёт сперва на rollerCoaster (потому что у него самый близкий вход), где заканчивается во времени 25 и уже ни на что не будет иметь денег, поэтому пойдёт домой. Третий пойдёт на twister (потому что стоит около его входа) и закончится там во времени 20. Появится на координате 15, самый близкий rollerCoaster, где встанет в очередь. Следующая езда rollerCoasteru начинается во времени 25, заканчивается во времени 50. Тогда у человека 3 будут деньги уже только на 1 twister. Этот начнётся во времени 60 и будет продолжаться до 80. Тогда симуляция закончится.

Год: 2016

Данный заказ (программа) выполнялся нашим сайтом в 2016-м году, в рамках этого заказа была разработана программа в среде программирования Visual C# .NET 2010. Если у Вас похожее задание на программу, которую нужно написать на Visual C# .NET 2010, либо на другом языке программирования, пожалуйста заполните форму, приведённую ниже, после чего Ваше задание в первую очередь рассмотрит наш программист, выполнявший в 2016-м году этот заказ, если он откажется, то Ваше задание оценят другие наши программисты в течение 48-и часов, если оценка нужна срочно, просим Вас оставить пометку об этом - напишите в тексте задания фразу "СРОЧНЫЙ ЗАКАЗ".

Купить эту работу

Тел.: +79374242235
Viber: +79374242235
Telegram: kursovikcom
ВКонтакте: kursovikcom
WhatsApp +79374242235
E-mail: info@kursovik.com
Skype: kursovik.com