Слон в Каире - Elephant in Cairo

An слон в Каире это термин, используемый в компьютерное программирование для описания фрагмента данных, который соответствует критериям поиска, намеренно вставленного в конец области поиска, чтобы гарантировать завершение работы алгоритма поиска; это юмористический пример контрольное значение. Термин происходит от юмористического эссе, распространенного в Интернет это было опубликовано в Байт журнал от сентября 1989 года, описывающий, как люди разных профессий занимались охотой на слонов.[1]

Алгоритм

В статье описывается, как программисты при охоте на слонов следуют этому алгоритму:[1]

  1. Идти к Африка.
  2. Начать с мыс Доброй надежды.[2]
  3. Двигайтесь на север упорядоченно, пересекая континент попеременно на восток и запад,
  4. Во время каждого прохода траверса:
    • Поймай каждое увиденное животное.
    • Сравните каждое пойманное животное с известным слоном.
    • Остановитесь при обнаружении совпадения.

В этом алгоритме есть ошибка, а именно: проверка границ ошибка: если слонов не найдено, программист продолжит движение на север и окажется в Средиземном море, в результате чего ненормальное прекращение к тонущий.

Таким образом, опытные программисты модифицируют приведенный выше алгоритм, помещая известного слона в Каир чтобы гарантировать, что алгоритм завершится.[3] Таким образом, модифицированный алгоритм выглядит следующим образом:

  1. Идти к Африка.
  2. Посадить слона Каир.
  3. Начать с мыс Доброй надежды.
  4. Двигайтесь на север упорядоченно, пересекая континент попеременно на восток и запад,
  5. Во время каждого прохода траверса:
    • Поймай каждое увиденное животное.
    • Сравните каждое пойманное животное с известным слоном.
    • Остановитесь при обнаружении совпадения.
  6. Если вы находитесь в Каире, то в Африке нет слонов (кроме того, которого вы туда поместили).

Смотрите также

Рекомендации

  1. ^ а б Олсен, Питер К. (сентябрь 1989 г.), «Прогнозирование персонала с односторонним поражением», Стоповый бит, Байт, п. 404
  2. ^ В мыс Доброй надежды традиционно считается самой южной точкой Африки, но на самом деле это Мыс Агульяс.
  3. ^ Штойбен, Майкл (1998). Двадцать лет до доски. Издательство Кембриджского университета. стр.62. ISBN  9780883855256.

внешняя ссылка