Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Программа restraunt

5.2K
23 декабря 2006 года
MIKE 247
31 / / 30.04.2005
Нужна программа "ресторан". Здесь краткое описание. Если кто-то сможет написать её на С под Линукс, то о вознаграждении договоримся.
ICQ 231-832-544 или тел. +7 903 240 75 65 (Описание неполное: нет начальных условий)



Программа 2.2 - restaurant
==========================

Программа restaurant должна осуществлять моделировние работы
персонала ресторана (человек, моющий посуду и человек вытирающий посуду)
в соответствии с текстуальными описанием задачи (Сборник заданий, страница 9).

Строка запуска программы:

restaurant N <файл описания типов посуды> \
[<файл описания посуды, подлежащей мытью и протиранию>]

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

Где:

N - размер стола в единицах измерения посуды (целое, неотрицательное)
<Файл описания посуды, подлежащей мытью и протиранию> - имя файла,
содержащего записи, каждая из которых имеет формат:

<тип посуды>

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

Тип посуды - целое в диапазоне 0..255

<Файл описания типов посуды> - имя файла, содержащего записи, каждая
из которых имеет формат:

<тип посуды> <Время мытья> <Время сушки>

Время мытья - время (в секундах), которое должен потратить процесс,
имитирующий деятельность человека, моющего посуду, на "мытье" элемента
посуды типа <тип посуды>.

Время сушки - время (в секундах), которое должен потратить процесс,
имитирующий деятельность человека, вытирающего посуду, на "вытирание"
элемента элемента посуды типа <тип посуды>.

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

Если указанные файлы содержат информацию, не соответствующуюю описанному
формату, программа должна выдать сообщение об ошибке и завершиться.

Требования на процесс работы программы:

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

процесс, соответствующей сушке посуды, должен забрать первый элемент
посуды немедленно после того, как он "появиться на столе". Он должен
"сушить" его в течении времени, определенного для сушки элемента посуды
этого типа. В течении этого времени он не должен делать более ничего.
После завершения "сушки", процесс должен забрать очередной элемент со
стола, если он есть, ожидать его появления, если еще не все помыто или
завершиться.

Если тип элемента посуды, прочитанный из <файла описания посуды,
подлежащей мытью и протиранию> не соответствует ни одному из известных
типов, выдать сообщение об ошибке и проигнорировать эту запись.

При изменении "состояния" стола (появлении на нем вымытого элемента
посуды или исчезновении элемента посуды, взятого на сушку)
программа должна распечатать на стандартный вывод сообщение следующего
вида:

при добавлении элемента на стол:

<текущее время> plate <тип посуды> added
Current state of table: <type> ...

при забирании элемента со стола:

<текущее время> plate <тип посуды> removed
Current state of table: <type> ...


Программа должна реализовывать "стол" (способ передачи элементов посуды)
от процесса "мойки" к процессу "сушки" одним из способов, приведенных
в последнем абзаце текста задачи (Сборник заданий, страница 9).

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

Программа должна завершиться после достижения признака
конца ввода во входном файле и завершении мойки и сушки последнего
элемента посуды.

Программа должна завершиться с кодом возврата 0 при отсутствии ошибок,
с кодом 1 при обнаружении элементов посуды неописанного типа, с кодом
2 при некорректном вызове или ошибках во входных данных.
2
23 декабря 2006 года
squirL
5.6K / / 13.08.2003
не соответствует тематике раздела. переношу. аффтар - получает свою "награду" за нарушение правил постинга и за кросс-постинг
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог