Skip to content

Latest commit

 

History

History
59 lines (46 loc) · 4.99 KB

README.md

File metadata and controls

59 lines (46 loc) · 4.99 KB

RadioStation

Train project from VSU. Program generates lists of songs for radio. Studying patterns and creating enterprise projects

The actual task

Variant 15

Модель составления программ радиостанции

Некоторая радиостанция осуществляет круглосуточную трансляцию музыкальных произведений. В течение суток радиостанция предлагает несколько радиопрограмм (7≤ K ≤ 12), посвященных разным жанрам музыки. Существует два вида программ: в одних подбор произведений выполняется по заявкам пользователей, другие же программы составляются как хит-парады.

Длительность каждой программы – М часов (1≤ М ≤ 3). Необходимо создать компьютерную систему, составляющую программы радиостанции в течение дня на основе поступающих заявок слушателей.

В фонотеке радиостанции хранятся музыкальные записи разных жанров и исполнителей. Каталог фонотеки учитывает для каждой музыкальной записи: жанр музыки (классика, джаз, рок, поп, рэп и др.), название произведения, авторы, исполнители, название и год выпуска альбома, количество минут звучания, рейтинг.

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

При большом количестве поступивших заявок делается попытка выбрать очередную музыкальную запись так, чтобы удовлетворить несколько заявок. При невозможности выполнить все заявки удовлетворяются те, которые позволяют составить более разнообразную программу.

В хит-парадах проигрываются произведения определенного жанра, получившие наибольший рейтинг за последние дни. Рейтинг рассчитывается по поступившим заявкам слушателей, отдельно по каждому жанру.

Для тестирования построенной модели составления радиопрограмм необходимо статистически смоделировать поток заявок от слушателей. Каждая составляющая заявки (автор, произведение, альбом, исполнитель) определяется случайным образом. Период моделирования – N дней (1≤ N ≤ 7), шаг моделирования – 10-30 минут.

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

DB structure

RadioProgramDB