Р. ЛАФОРЕ ОБЪЕКТНО-ОРИЕНТИРОВАННОЕ ПРОГРАММИРОВАНИЕ В C++ (4-Е ИЗДАНИЕ) (часть13) онлайн
Работа программы ELEV
При запуске вы увидите четыре лифта, находящихся внизу экрана, а также вер-
тикальный список чисел слева от 1 до 20, увеличивающихся снизу вверх. Изна-
чально все лифты на первом этаже. Это все показано на рис. 13.4

Рис. 13.4. Начальное состояние программы ELEV
Запрос этажа
При нажатии Enter внизу экрана появится текст:
На каком Вы этаже?
Можно ввести любое число от 1 до 20. Если вы только что приехали на рабо-
ту и намерены подняться к своему рабочему месту, нажимайте 1. Если спешите
спуститься на обед со своего этажа, введите его номер. Следующее, о чем спро-
сит программа, это
В каком направлении будете двигаться (u/d):
Даем подсказку: если вы на первом этаже, вам, скорее всего, надо вверх. Если
на последнем — вниз. В качестве домашнего задания продумайте, куда можно
ехать с какого-то из средних этажей. Когда вы разберетесь с тем, где вы находи-
тесь и куда вам нужно, напротив соответствующего этажа появится треугольни-
чек, обращенный вершиной вверх или вниз в зависимости от направления дви-
жения лифта. По мере возникновения других запросов рядом с номерами этажей
будут появляться другие треугольнички.
Если лифт находится там же, где и вы, его двери немедленно откроются. Что
касается программы, то перед вашими глазами возникнет счастливое лицо офис-
ного работника, заходящего вовнутрь. В противном случае лифт начнет двигать-
ся вверх или вниз, пока не достигнет этажа, с которого был сделан запрос.
Ввод конечного пункта путешествия
Пока счастливый пассажир находится внутри лифта, нужно быстренько поинте-
ресоваться у него, куда это он собрался ехать:
Лифт 1 находится на зтаже 1.
Введите номера нужных этажей (0 для окончания ввода)
Этаж назначения 1: 13
Пассажир ввел 13. Но пока он размышлял, куда он хочет прокатиться, при-
шли еще пассажиры и стали нажимать разные кнопочки в лифте, всем ведь
нужно на разные этажи! Поэтому программа должна позволять ввести несколь-
ко номеров этажей. Введите несколько номеров (не больше 20 штук), нажмите 0
для окончания ввода.
Пункты назначения, указанные пассажирами, показываются в виде малень-
ких прямоугольничков слева от изображения лифта, напротив соответствующе-
го этажа. Каждый лифт имеет свой набор пунктов назначения (в отличие от за-
просов с исходных этажей, общих для всех лифтов).
Запросов с разных этажей можно делать сколько угодно. Программа запом-
нит их, как и выбранные из каждого лифта этажи назначения, и будет пытаться
обслужить всех. Все четыре лифта могут быть одновременно в движении. На
рис. 13.5 показана ситуация с несколькими запросами с этажей и несколькими
запросами пунктов назначения.
Рис. 13.5. Лифты в действии
12 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
Схожі підручники
- ОБЪЕКТНО-ОРИЕНТИРОВАННОЕ ПРОГРАММИРОВАНИЕ В C++ (4-Е ИЗДАНИЕ) (часть 7) онлайн
- Соціальна педагогіка (частина 2)
- Загальні питання з курсу «Теорія ймовірності та Математичної статистики»№1
- Теорія Ймовірності основні теми
- Методичні вказівки до виконання практичного заняття на тему «Графічний метод розв’язку задач НЛП» Розв’язати графічним методом задачу НЛП
- Основы эффективных продаж (онлайн)
