AOP_Tom1 (1021736), страница 81

Файл №1021736 AOP_Tom1 (Полезная книжка в трёх томах) 81 страницаAOP_Tom1 (1021736) страница 812017-07-10СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 81)

В приведенном ниже описании переменная Т1МЕ представляет текущее значение моделируемых часов. Все единицы времени даны в десятых долях секундм. Кроме того, в алгоритме используются другие переменные: РЬООЕ, текущее положение кабины лифта; 01„переменная, которая всегда равна нулю, за исключением промежутков времени, когда люди входят в лифт или выходят из него; 02, переменная, которая становится равной нулю, если лифт более 30 с находится на одном из этажей без движения; 03, переменная, которая всегда равна нулю, за исключением ситуации, когда двери открыты, но никто не входит в лифт и не выходит из него; ЯТАТЕ, текущее состояние лифта (601МСОР, 601МСООЫМ или МЕОТЕАЬ).

В исходном состоянии РЬООЕ = 2, 01 = 02 = 03 = О и ЯТАТЕ = МЕОТЕАЬ. Сопрограмма Ю (Пользователи) Каждый входящий в систему человек (т. е. тот, кто желает пользоваться лифтом) приступает к выполнению описанных ниже действий, начиная с шага 1)1. Ш. [Вход в систему, ожидание следующего человека.] Перечисленные ниже величины легко определить, но эти определения здесь не приводятся. 1И, этаж, на котором следующий человек входит в систему; СОТ, этаж, на который этот человек хочет попасть (СОТ ф 1М); 61ЧЕОРТ1ИЕ, максимальное время ожидания человеком лифта, после которого его терпение исчерпывается н он решает воспользоваться лестницей; 1МТЕКТ1ИЕ, время до прихода другого человека. После вычисления этих величин программа моделирования работы лифта организует весь процесс так, что следующий человек подходит к лифту в момент ТХМЕ + ХМТЕКТХМЕ.

ХХ2. [Получение сигнала и ожидание.) (Назначение этого шага заключается в вызове лифта; особые ситуации могут возникнуть, если лифт уже находится на нужном этаже.) Если РЕООК = 1М н если следующее действие заключается в выполнении описанного ниже шага Е6 (т. е. если двери лифта закрываются), нужно указать лифту яа переход к шагу ЕЗ и отменить выполнение шага Еб.

(Это значит, что двери откроются снова, прежде чем лифт начнет движение.) Если РЕООК = 1М и 03 ф О, установить ОЗ < — О, установить ненулевое значение для 01 и снова перейти к выполнению шага Е4. (Это значит, что двери лифта откроются на том же этаже, но кто-то вошел или вышел. На шаге Е4 людям предоставляется возможность входить в лифт в соответствии с обычными правилами хорошего тона. Следовательно, повторное возвращение к шагу Е4 позволяет человеку войти в лифт до закрытия дверей.) Во всех других случаях человек устанавливает САЬЕОР[1М) с — 1 или САХ.Х.ООУМ[ХМ) ~- 1, а также СОТ > ХМ илн СОТ ( 1И. Если же 02 = О или лифт находится в состоянии "спячки" Е1, то выполняется указанная ниже подпрограмма ОЕСХЯХОМ.

(Подпрограмма ОЕСХЯХОМ испальзуетгя для вывода лифта из нейтрального состояния (МЕОТКАЕ) в некоторые критические моменты.) ХХЗ. (Вход в очередь.] Поместить человека в конец линейного списка ЦОЕОЕ [ХМ), представляющего людей, которые ожидают лифта на том же этаже. Теперь человек должен терпеливо ожидать прихода лифта в течение времени 01ЧЕОРТ1МЕ, а точнее — до тех пор, пока на шаге Е4 программы будет совершен переход к шагу В5 и отменен запланированный шаг В4. Х14. [Отказ от длительного ожидания.] Если РЕООК ф 1М или 01 = О, удалить человека из списка ЦОЕОЕ[1М) и из всей системы моделирования. (Человек решил, что лифт работает очень медленно или что небольшое физическое упражнение в виде ходьбы по лестнице все же лучше, чем езда на лифте.) Если РЕООК = 1М и 01 ~ О, человек продолжает ждать (зная, что ожидание в этом случае не будет очень долгим во время выхода и входа других людей).

ХХ5. [Вход в лифт.] Пользователь покидает список ЦОЕОЕ[ХМ3 и входит в лифт, т. е. список Е1ЕЧАТОК со структурой стека, который представляет людей в кабине лифта. Установить САХА.САК[ООТ) +- 1. Теперь, если ЯТАТЕ = ИЕОТКАХ., установить значение БТАТЕ ~- 001МООР или СОХИОООУМ и перейти к шагу Е5 через 25 единиц времени. (Эта особенность предусмотрена для того, чтобы двери могли закрыться быстрее, чем обычно, если в момент выбора человеком этажа назначения лифт находится в нейтральном состоянии.

Такой временной интервал длиной 25 единиц предоставляет воз- можность на шаге Е4 убедиться в том, что значение переменной 01 правильно установлено к моменту выполнения шага Е5, т. е. когда закрываются двери.) Теперь человек ожидает момента перехода к выпачнению шага Еб по окончании шага Е4, когда лифт достигнет нужного этажа. 116. [Выход из лифта.) Удалить пользователя из списка ЕЬЕЧАТОЕ и из системы моделирования. А Сопрограмма Е (Лифт), Эта сопрограмма представляет действия лифта; на шаге Е4 также контролируется процесс входа людей в лифт и выхода из него.

Е1. [Ожидание вызова.] (В этом случае лифт находится на этаже 2 с закрытыми дверями в состоянии ожидания.) Если кто-нибудь нажмет кнопку, подпрограмма ОЕС131ОМ совершит переход к шагу ЕЗ или Еб. В противном случае лифт находится в состоянии ожидания. Е2. [Изменение состояния?] Если ЯТАТЕ = 601МООР и САЬЬОР[1] = САЬЬООММ[у] = САЬЬСАЕ[1] = 0 для всех 1 > РЬООК, то следует установить ЯТАТЕ < — МЕОТЕАЬ или ЯТАТЕ < — ОО1МОООММ в зависимости от того, выполняется ли условие САЬЬСАК[1] = О для всех 1 ( РЬООК, и установить все переменные САЬЬ для текущего этажа равными нулю. Если ЯТАТЕ = 601МОООММ, то необходимо выполнить те же действия, но в обратном порядке.

ЕЗ. [Открытие дверей.] Задать для 01 и 02 любые ненулевые значения. По прошествии 300 единиц времени независимо выполнить шаг Е9. (Эти действия могут быть отменены на шаге Е6 до того, как они произойдут. Если они уже запланированы и не отменены, онн отменяются и перепланируются.) Также независимо следует выполнить действия лифта на шаге Е5 по прошествии 76 единиц времени. Затем следует подождать 20 единиц времени (для моделирования открытия дверей) и перейти к шагу Е4.

Е4. [Выход нз лифта и вход в него людей.] Если для каких-то людей из списка ЕЬЕЧАТОЕ выполняется равенство СОТ = РЬООЕ, то последнему зашедшему в лифт следует перейти к шагу Пб, подождать на протяжении 25 единиц времени и повторить шаг Е4.

Если таких людей нет, но список ЦОЕОЕ [РЬООЕ] не пуст, самому первому в списке следует немедленно перейти к шагу П5 вместо шага Ь4, подождать в течение 25 единиц и повторить шаг Е4. А если список ЦОЕОЕ[РЬООЕ] пуст, установить 01 +- О, установить 03 не равным нулю и подождать, пока какие-нибудь другие действия не вызовут продолжение выполнения алгоритма. (Действия на шаге Е5 перенаправят нас к шагу Еб или действия на шаге П2 приведут к повторному переходу к шагу Е4.) Е5. [Закрытие дверей.) Если 01 ф О, подождать в течение 40 единиц и повторить данный шаг (двери при этом могут вздрогнуть, но вернуться в прежнее открытое положение, так как кто-то все еще входит или выходит). В противном случае установить 03 ч- 0 и перейти к шагу Е6 через 20 единиц времени. (Так моделируется закрытие дверей после того, как все войдут в лифт или выйдут из него. Но если в ходе этого процесса на площадке перед лифтом на том же этаже появится новый человек, двери вновь откроются, как указано на шаге П2.) Е6.

[Подготовкак движению.] Установить переменную САЬЬСАМ[РЬООЕ] равной нулю; установить равной нулю переменную САЬЬОР[РЬООЕ], если ЯТАТЕ 601МСООММ, а также установить равной нулю переменную САЬЬООЫМ [РЬООЕ], если ЯТАТЕ ф 601861/Р.' (Замечание.

Если ЯТАТЕ = 601МСОР, лифт не сбрасывает значение САЬЬООММ, так как предполагается, что люди, которым нужно ехать вниз, еще не вошли в него; см, упр, 6.) Теперь следует выполнить подпрограмму ОЕС1810М. Если ЯТАТЕ = МЕОТЕАЬ даже после выполнения подпрограммы ОЕС181ОМ, то следует перейти к шагу Е1. В противном случае, если 02 ф О, необходимо отменить действия лифта на шаге Е9.

Наконец, если ЯТАТЕ = 601МСОР, подождать в течение 15 единиц времени (чтобы лифт ускорился) и перейти к шагу Е7; если ЯТАТЕ = 601МСООММ, подождать в течение 15 единиц времени и перейти к шагу Е8. ЕТ. [Подъем на этаж.] Установить РЬООЕ -.— Р1.008+ 1 н подождать в течение 51 еДиницы времени. Если теперь САЬЬСАЕ[РЬООЕ] = 1 или САЬЬОР[РЬООМ] = 1 нли если [(РЬООМ = 2 или САЬЬРОММ[РЬООЕ] = 1) н САЬЬОР[у] = САЬЬООММ[]] = САЬЬСАЕ[]] = 0 для всех ] > РЬООЕ), подождать в течение 14 единиц времени (чтобы лифт притормозил) н перейти к шагу Е2. В противном случае повторить данный шаг.

Е8. [Спуск на этаж.) Этот швг подобен шагу Е?, если поменять направление движения, а временные интервалы длительностью 51 и 14 единиц заменить интервалами длительностью 61 и 23 единицы соответственно. (На спуск лифту требуется больше времени, чем на подъем.) Е9. [Установка индикатора бездействия.] Установить 02 < — О и выполнить подпрс грамму ОЕС1810М.

(Это независимое действие инициируется на шаге ЕЗ, но оно почти всегда отменяется на шаге Е6. См. упр. 4.) 1 Подпрограмма 1] (Подпрограмма ОЕС1Я10М). Как указано в приведенных выше сопрограммах, зта подпрограмма выполняется в критические моменты времени, когда должно быть принято решение о выборе направления движения. Ш. [Необходимо ли принять решение?) Если ЯТАТЕ ф МЕОТМАЬ, выйти из этой подпрограммы. 1]2.

[Следует ли открыть двери лифта?] Если лифт находится на стадии выполнения действий шага Е1 и если САЬЬОР [2], САЬЬСАМ [2] и САЬЬООММ [2] не равны нулю, то нужно после паузы длиной 20 единиц времени перейти к шагу ЕЗ, а затем выйти из этой подпрограммы, (Если в данный момент подпрограмма ОЕС1810М вызывается во время выполнения некоторых независимых действий на шаге Е9, то сопрограмма лифта может перейти к шагу Е1.) ]ЗЗ.

Характеристики

Тип файла
DJVU-файл
Размер
7,53 Mb
Тип материала
Высшее учебное заведение

Список файлов книги

Свежие статьи
Популярно сейчас
А знаете ли Вы, что из года в год задания практически не меняются? Математика, преподаваемая в учебных заведениях, никак не менялась минимум 30 лет. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6458
Авторов
на СтудИзбе
304
Средний доход
с одного платного файла
Обучение Подробнее