Главная->Інформатика та програмування->Содержание->Моделирование высотного лифта

Р. ЛАФОРЕ ОБЪЕКТНО-ОРИЕНТИРОВАННОЕ ПРОГРАММИРОВАНИЕ В C++ (4-Е ИЗДАНИЕ) (часть13) онлайн

Моделирование высотного лифта

Когда вы станете великим программистом и будете работать где-нибудь в Сили-

коновой долине, стоя в ожидании лифта внутри огромного офисного небоскре-

ба, вспомните этот пример. Вы задумывались когда-нибудь о том, как лифт узна-

ет, на какой этаж ему ехать? В старые добрые времена, конечно же, для этой цели

существовали импозантные лифтеры (помните: «Доброе утро, Андрей Владими-

рович!», «Доброе утро, Юра!»), которым пассажиры сообщали нужный номер

этажа. На панели внутри лифта при его движении загорались лампочки с номера-

ми проезжаемых в данный момент этажей. Лифтеры выбирали, куда ехать, в соот-

ветствии с просьбами пассажиров и показаниями лампочек.

В наши дни прогресс уже дошел до того, что лифты сами соображают, куда

им ехать и где останавливаться. В нашем следующем примере с помощью клас-

сов C++ моделируется система лифтов.

Из чего должна состоять такая система? Обычно в большом здании распола-

гается несколько одинаковых лифтов. На каждом этаже есть кнопки «вниз» и

«вверх». Обратите внимание, что в большинстве случаев на этаж выделяется од-

на пара таких кнопок. Когда вы вызываете лифт, вы не знаете, какой именно из

них приедет раньше. Внутри лифта кнопочек существенно больше — одна для

каждого этажа. Войдя в лифт, пассажиры обычно нажимают кнопку нужного

этажа. Программа моделирует все эти составляющие процесса.

1             Улучшить программу за счет сокращения затрат памяти на хранение таких огромных чисел можно,

если использовать не десятичную, а более выгодные системы счисления — шестнадцатеричную,

двухсотпятидесятишестиричную и т. п. (предел основания системы счисления зависит только

от выбранной таблицы используемых символов). Однако при этом возникают свои сложности. —

Примеч. перев.

 

 

19