Парикмахерская, программа |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
Парикмахерская, программа |
Дон |
Сообщение
#1
|
Новичок Группа: Пользователи Сообщений: 22 Пол: Мужской Репутация: 0 |
Парикмахерская. Для каждого посетителя парикмахерской (с одним мастером) известны следующие величины: t – момент его прихода и τ – продолжительность его обслуживания. Сколько клиентов обслужит мастер за смену продолжительностью Т? Сколько рабочего времени он потратит на обслуживание?
Момент прихода и продолжительность обслуживания вводятся пользователем.. Помогите,плизз,если кто может.. |
Lapp |
Сообщение
#2
|
Уникум Группа: Пользователи Сообщений: 6 823 Пол: Мужской Реальное имя: Лопáрь (Андрей) Репутация: 159 |
Задачи на моделирование встречаются не очень часто, так что я не мог отказать себе в написании программы. Но сначала обсудим алгоритм..
По сути, весь алгоритм - это один цикл по клиентам. Засовываем все данные о клиентах в массив записей, которые содержат время прихода и необходимое время обслуживания. Я считаю, что этот массив уже при задании отсортирован по времени прихода. Если нет - надо отсортировать. Если есть одинаковые времена прихода - пусть сами разбираются, кому идти первым - то есть как расположились в массиве, так и будет. Далее, если необходимое время обслуживания превышает остаток времени до конца рабочего дня, то такому клиенту в обслуживании отказывается. Это не оговорено в условии, так что нужно уточнить с преподавателем. Возможна ситуация, когда есть "grace period", на время которого мастер может задержаться на работе, но это несколько усложнит прогу. Итак.. 1. обнуляем счетчик клиентов и рабочее время; 2. в текущее время кладем время открытия; 3. делаем цикл "for" по клиентам; 4. берем максимум из текущего времени и времени прихода следующего клиента; 5. вычисляем время окончания сеанса; 6. если время окончания за пределами рабочего дня - отказываем в сервисе (переходим к следующему); 7. если укладываемся - стрижем (увеличиваем счетчик клиентов и рабочее время); 8. обновляем текущее время концом сеанса. Вот, примерно так. Попробуй написать по этому алгоритму программу и показывай, что получилось . -------------------- я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой |
Текстовая версия | 5.05.2024 10:36 |