Рекурсия
Анонимус! На эту тему есть смешинки: Юмор:Рекурсия.
|
![]() |
To iterate is human, to recurse, divine — James O. Coplien, Bell Labs
|
![]() |

Рекурсия — см. «Рекурсия».
А вообще[править | править код]
Рекурсией программисты на своём мунспике называют вызов функцией самой себя прямо (в теле функции расположен вызов себя) или косвенно (функция вызывает функцию, которая вызывает функцию, которая… и в одной из этих функций расположен вызов самой первой функции). У хорошей, годной рекурсии должно быть и условие для выхода из рекурсии, иначе получается зацикливание. Типичным примером функций, использующих рекурсию, являются вычисление факториала и функция Аккермана. В более общем смысле, включение некоторой сущностью самой себя целиком (см. пример с зеркалами ниже). Более сложный вариант: «Чтобы понять рекурсию, нужно сперва понять рекурсию».
Помимо своего матанного и программистского значения, рекурсия — мем, используемый в наших интернетах в основном среди читателей башорга. Уйдя в массы, мем утратил своё специфичное значение и используется для описания любой рвущей шаблон ситуации. Чаще всего слово «рекурсия» всплывает ассоциацией в мозгу планктонины либо при упоминании бесконечности как меры мощности множества, либо при столкновении с логическим парадоксом (так, зарегистрированы случаи непроизвольного произнесения слова «рекурсия» при упоминании парадокса лжеца).
Наблюдение рекурсии[править | править код]
![]() |
Это как тако внутри тако? Да, это такое тако внутри тако внутри супер-тако внутри ресторана «Тако Белл» внутри KFC в супермаркете внутри сна. — South Park
|
![]() |


Вообще древнейший из примеров применения рекурсии IRL связан ещё с изобретением зеркала. Установив два зеркала параллельно и строго напротив друг друга, внутри можно увидеть классическую рекурсию. А при особом упорстве и склонности к магии — и неиллюзорную кучу глюков. Но мы же не ищем лёгких путей. Поэтому если вам внезапно нечем будет себя занять, то можете поэкспериментировать и с другими методами получения рекурсии:
- Просто включите веб-камеру и наведите её на экран монитора. Или просто обычную видеокамеру, наведя на показывающий с неё телевизор. В последнем случае (повращав камеру) можно убедиться в том, что даже телевизор способен неиллюзорно тормозить.
- Тот же самый спецэффект можно получить и с меньшим бюджетом, воспользовавшись программой записи видео с экрана (или программой-лупой).
- Также её можно наблюдать в игре Portal, если создать два портала один перед другим.
- Кстати об играх. В The Stanley Parable в одной из концовок ГГ слышит, как голос в его голове (закадровый рассказчик) говорит о том, что ГГ его слышит.
- А ещё можно поюзать Radmin или что-то подобное для управления удаленным десктопом и приконнектиться к локалхосту.
- Православный и легкодоступный способ.
- На своем компе активируем Team Viewer.
- Заходим на отдаленную машину через удаленное подключение к рабочему столу.
- На удаленной машине также запускаем Team Viewer
- Подключаемся к своему исходному компу. Получите каноничную рекурсию и, если комп слабый, нарастающие тормоза системы.
- Если и этого нет под рукой, то подобную рекурсию можно произвести вручную. Откройте любой графический редактор (например, тот же MS Paint) и с детским задором, высунув язык, без остановки поочерёдно жмакайте на клавиатуре
Ctrl+Print Screen
иCtrl+V
. - Человека от обезьяны отличает отнюдь не абстрактное мышление, как любили догматически утверждать марксисты, а способность к мышлению рекурсивному.
Можно получить и слуховую форму рекурсии. Для этого просто дозвонитесь на любое принимающее в данный момент звонки радио с сотового и вместо того, чтобы (по настоятельным просьбам RJ) увернуть громкость приёмника, наоборот, прибавьте. Трети секунды задержки, которую гуляет Ваш голос вместе с самим сигналом станции в глубинах сотовых сетей, будет вполне достаточно для наблюдения полноценной звуковой рекурсии.
Рекурсия и цикл[править | править код]
Не стоит путать рекурсию и цикл (возможно, бесконечный). Отрицательный пример — тоже пример, рассмотрим выражение:
1. Начальник всегда прав. 2. Если начальник не прав, смотреть п. 1.
Оно является циклом с плохим условием, а не рекурсией. Дональд Кнут гарантирует. Можно ли это переделать в рекурсию? Да:
Приказ № 1. Начальник всегда прав. Если начальник не прав, см. Приказ № 1.
С точки зрения процесса, это по-прежнему цикл. Чтобы процесс стал рекурсивным, можно сделать так:
п1. Если начальник не прав, то см. п1. и начальник всегда прав.
Более понятный вариант:
111: А можешь мне, как гуманитарию, объяснить разницу между бесконечным циклом и бесконечной рекурсией?
222: Но вот смотри:
"У царя был двор, во дворе стоял кол,
На колу мочало, начинай сначала" - это бесконечный цикл.
"У попа была собака, он ее любил,
Она съела кусок мяса - он ее убил,
В яму закопал, крест поставил, написал: ..." - это бесконечная рекурсия.
— anekdot.ru