Форум программистов, компьютерный форум, киберфорум
Haskell
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 24.06.2010
Сообщений: 101
1

Система управления расписаниями

14.12.2016, 11:45. Показов 1217. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Доброго времени суток! Помогите, пожалуйста, написать программу.
Очень большое описание

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

Определите тип Time, который бы хранил запись о времени, определите для него методы show и read, для преобразования к виду, например, 08:15. Время можно хранить как целое число минут, прошедших с 8:00 текущего дня или в любой другой удобной форме. Временной интервал будем хранить в виде type Period = (Time, Time). Время окончания должно быть строго больше времени начала. При создании периода необходимо проверять это свойство.

Определите функцию before :: Period -> Period -> Bool, которая определяет, находится ли первый период строго раньше второго. Определите функцию overlap :: Period -> Period -> Bool, которая определяет, пересекаются ли периоды.

Список периодов, в течение которых человек занят, можно хранить в виде type Diary = [Period], при этом каждый период в списке должен быть строго до следующих за ним. Определите функции добавления нового периода на нужное место в список и удаления периода из списка.

Определите функцию findTime :: Int -> Time -> Diary -> Period, которая возвращает по списку Diary самый ранний свободный период длиной Int минут начиная со времени Time, который не пересекается с другими периодами из списка. Например: findTime 5 0 [(0, 10), (15, 20), (30, 40)] == (21, 25).

Два пересекающихся периода могут быть объединены в один более длинный. Определите функцию combine :: Period -> Period -> Period.

Если список Василия: [(10, 20), (40, 50)], а список Татьяны: [(20, 30), (60, 70)], то можно создать общий список периодов, когда один из них занят: [(10, 30), (40, 50), (60, 70)]. Определите функцию combineDiaries :: Diary -> Diary -> Diary, которая это делает.

Определите функцию meeting :: Int -> Time -> [Person] -> DB -> Period, которая возвращает по списку людей [Person] из базы DB самый ранний свободный период длиной Int минут начиная со времени Time, когда никто из людей не занят. Например: meeting 5 10 ["Василий", "Татьяна"] db == (31, 35).

Заранее спасибо.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
14.12.2016, 11:45
Ответы с готовыми решениями:

Файловая система и система управления вводом-выводом в ОС Linux
Дали задание написать вот что: "Разработать программу, которая выводит на экран содержимое...

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

Система управления версиями
Здравствуйте! Подскажите, пожалуйста, какую нибудь хорошую систему управления версиями. Желательно...

Система управления сообщениями
Здравствуйте, помогите разобраться с проблемой. Необходимо написать класс, который будет...

3
Антикодер
1804 / 869 / 48
Регистрация: 15.09.2012
Сообщений: 3,081
17.12.2016, 11:03 2
Так начните с
Цитата Сообщение от Maria64 Посмотреть сообщение
Определите тип Time, который бы хранил запись о времени
Знаете как типы определяются?
1
0 / 0 / 0
Регистрация: 24.06.2010
Сообщений: 101
19.12.2016, 07:40  [ТС] 3
да, знаю, но привела полную формулировку задания
0
Модератор
5047 / 3276 / 526
Регистрация: 01.06.2013
Сообщений: 6,806
Записей в блоге: 9
19.12.2016, 10:21 4
Maria64, за 5 дней вы бы успели сделать хотя бы то что знаете. А дальше бы вам помогли, если где непонятно.
1
19.12.2016, 10:21
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
19.12.2016, 10:21
Помогаю со студенческими работами здесь

Система управления светофорами
Может у кого-нибудь есть? или хотяб источники( Очень буду благодарна если поможете

Система управления версиями
Вопрос в следующем. Хочу много коммитов и возможность отката к предыдущим версиям в sln проекте....

Система управления файлами
Здравствуйте! Попросили разработать небольшую систему документооборота. А именно, вот с чем ко мне...

Система голосового управления
Здравствуйте. Начну с источника и кратко: посмотрел я Железного человека, и захотелось мне сделать...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru