« To iterate is human, to recurse, divine
James O. Coplien, Bell Labs
»

Рекурсия — см. «Рекурсия».

Это, например, рекурсия. А может быть, даже фрактал.

А вообще править

Рекурсией программисты на своём мунспике называют вызов функцией самой себя прямо (в теле функции расположен вызов себя) или косвенно (функция вызывает функцию, которая вызывает функцию, которая… и в одной из этих функций расположен вызов самой первой функции). У хорошей, годной рекурсии должно быть и условие для выхода из рекурсии, иначе получается зацикливание. Типичным примером функций, использующих рекурсию, являются вычисление факториала и функция Аккермана. В более общем смысле, включение некоторой сущностью самой себя целиком (см. пример с зеркалами ниже). Более сложный вариант: «Чтобы понять рекурсию, нужно сперва понять рекурсию».

Помимо своего матанного и программистского значения, рекурсия — мем, используемый в наших интернетах в основном среди читателей башорга. Уйдя в массы, мем утратил своё специфичное значение и используется для описания любой рвущей шаблон ситуации. Чаще всего слово «рекурсия» всплывает ассоциацией в мозгу планктонины либо при упоминании бесконечности как меры мощности множества, либо при столкновении с логическим парадоксом (так, зарегистрированы случаи непроизвольного произнесения слова «рекурсия» при упоминании парадокса лжеца).

Наблюдение рекурсии править

  Это как тако внутри тако? Да, это такое тако внутри тако внутри супер-тако внутри ресторана «Тако Белл» внутри KFC в супермаркете внутри сна.
South Park
 
 
Так называемый Эффект Дросте.
 
Ещё один

Вообще древнейший из примеров применения рекурсии IRL связан ещё с изобретением зеркала. Установив два зеркала параллельно и строго напротив друг друга, внутри можно увидеть классическую рекурсию. А при особом упорстве и склонности к магии — и неиллюзорную кучу глюков. Но мы же не ищем лёгких путей. Поэтому если вам внезапно нечем будет себя занять, то можете поэкспериментировать и с другими методами получения рекурсии:

  • Просто включите веб-камеру и наведите её на экран монитора. Или просто обычную видеокамеру, наведя на показывающий с неё телевизор. В последнем случае (повращав камеру) можно убедиться в том, что даже телевизор способен неиллюзорно тормозить.
  • Тот же самый спецэффект можно получить и с меньшим бюджетом, воспользовавшись программой записи видео с экрана (или программой-лупой).
  • Также её можно наблюдать в игре Portal, если создать два портала один перед другим.
  • Кстати об играх. В The Stanley Parable в одной из концовок ГГ слышит, как голос в его голове (закадровый рассказчик) говорит о том, что ГГ его слышит.
  • А ещё можно поюзать Radmin или что-то подобное для управления удаленным десктопом и приконнектиться к локалхосту.
  • Православный и легкодоступный способ.
  1. На своем компе активируем Team Viewer.
  2. Заходим на отдаленную машину через удаленное подключение к рабочему столу.
  3. На удаленной машине также запускаем Team Viewer
  4. Подключаемся к своему исходному компу. Получите каноничную рекурсию и, если комп слабый, нарастающие тормоза системы.
  • Если и этого нет под рукой, то подобную рекурсию можно произвести вручную. Откройте любой графический редактор (например, тот же MS Paint) и с детским задором, высунув язык, без остановки поочерёдно жмакайте на клавиатуре Ctrl+Print Screen и Ctrl+V.
  • Человека от обезьяны отличает отнюдь не абстрактное мышление, как любили догматически утверждать марксисты, а способность к мышлению рекурсивному.

Можно получить и слуховую форму рекурсии. Для этого просто дозвонитесь на любое принимающее в данный момент звонки радио с сотового и вместо того, чтобы (по настоятельным просьбам RJ) увернуть громкость приёмника, наоборот, прибавьте. Трети секунды задержки, которую гуляет Ваш голос вместе с самим сигналом станции в глубинах сотовых сетей, будет вполне достаточно для наблюдения полноценной звуковой рекурсии.

Рекурсия и цикл править

Не стоит путать рекурсию и цикл (возможно, бесконечный). Отрицательный пример — тоже пример, рассмотрим выражение:

1. Начальник всегда прав. 2. Если начальник не прав, смотреть п. 1.

Оно является циклом с плохим условием, а не рекурсией. Дональд Кнут гарантирует. Можно ли это переделать в рекурсию? Да:

Приказ № 1. Начальник всегда прав. Если начальник не прав, см. Приказ № 1.

С точки зрения процесса, это по-прежнему цикл. Чтобы процесс стал рекурсивным, можно сделать так:

п1. Если начальник не прав, то см. п1. и начальник всегда прав.

Более понятный вариант:

111: А можешь мне, как гуманитарию, объяснить разницу между бесконечным циклом и бесконечной рекурсией?

222: Но вот смотри:

"У царя был двор, во дворе стоял кол,

На колу мочало, начинай сначала" - это бесконечный цикл.

"У попа была собака, он ее любил,

Она съела кусок мяса - он ее убил,

В яму закопал, крест поставил, написал: ..." - это бесконечная рекурсия.

anekdot.ru