Что-то задумался я сегодня - вот лифты, их кто программирует? Наверное, написать хорошую программу для лифта - всё-таки не просто.
Вот пример: У нас в общаге два лифта (на самом деле больше, но не суть; в тандеме работают два). Они расположены рядом и шахты параллельны. Когда нажимаешь на кнопку вызова лифта, к тебе едет тот, который ближе. Казалось бы, логично?
Ну так вот, сегодня я наблюдал такую картину - один лифт находится на восьмом, второй - на втором, но уже едет на пятый. Когда я вызываю лифт, тот, который на восьмом не реагирует, приходится ждать, пока приедет тот, который с пятого. Потому что, по его машинной логике, пятый ближе к первому, чем восьмой.
Хотя, по-моему, очевидно, что даже чисто по времени пригнать лифт с 8ого на 1ый быстрее, чем сначала со 2ого на 5ый, потом подождать, пока на 5ом люди выйдут, потом с 5ого на 1ый. Не говоря уж про затраты электроэнергии, износ оборудования итп. С другой стороны, при такой программе можно, к примеру, днём, когда все студенты уйдут на занятия, взять и загнать лифт на 14ый (верхний) этаж и тогда все вызовы с первого этажа будет обрабатывать второй лифт, который ниже. А второй вообще не будет работать до тех пор, пока его не вызовут откуда-нибудь с 7ого или ниже. Отсюда - неравный износ оборудования, большее среднее время ожидания и все прочие прелести. Неправильно это.