Слон в Каире — это термин, используемый в программировании, чтобы описать элемент данных, который соответствует критериям поиска и намеренно помещается в конец области поиска, чтобы гарантировать завершение работы алгоритма. Данное выражение является шутливым примером «сторожевого» или «сигнального» значения. Термин происходит из юмористического эссе, распространявшегося интернете, которое было опубликовано в в сентябре 1989 года, в котором описывалось, как различные профессии охотятся на слона.

Алгоритм Способ охоты на слона программистом описывается в статье следующим алгоритмом: Идём в Африку. Начинаем с мыса Доброй Надежды.Мыс Доброй Надежды традиционно считается самой южной точкой Африки, хотя на самом деле таким является мыс Игольный. Двигаемся на север в упорядоченной манере, пересекая континент попеременно с востока на запад и с запада на восток, Во время каждого прохода: Ловим каждое увиденное животное. Сравниваем его с известным слоном. Останавливаемся, когда совпадение обнаружено.

Этот алгоритм имеет баг, а именно ошибку контроля границ — если слон не найден, программист продолжает поиск севернее и закончит в Средиземном море, вызвав аварийное завершение (утонет).

Поэтому опытные программисты подправляют вышеизложенный алгоритм, помещая известного слона в Каире, чтобы алгоритм завершился наверняка. Модифицированный алгоритм выглядит так:

Идём в Африку. Помещаем слона в Каир. Начинаем с мыса Доброй Надежды. Двигаемся на север в упорядоченной манере, пересекая континент попеременно с востока на запад и с запада на восток, Во время каждого прохода: Ловим каждое увиденное животное. Сравниваем его с известным слоном. Останавливаемся, когда совпадение обнаружено. Если вы обнаружили слона в Каире, это означает, что в Африке нет слонов (за исключением того, которого вы сами поместили в Каир).

См. также

Примечания

Ссылки List of the other elephant hunting techniques (PDF)

Категория:Компьютерный юмор