рекурсия это в программировании
Автор Барс задал вопрос в разделе Другие языки и технологии
Зачем нужна рекурсия? и получил лучший ответ
Ответ от Ёергей Марков[гуру]
1. Рекурсия подразумевает более компактный вид записи выражения. Обычно это зависимость процедур (функций, членов прогрессии и т. д. ) соседних порядковых номеров. Некоторые зависимости очень сложно выразить какой либо формулой, кроме как рекурсивной. Особенно при изучении фракталов.
2. Незаменимая в ряде случаев при программировании замкнутых циклов. Ряд циклических функции в языках программирования по определению представляют собой рекурсивные процедуры. Например while do в Паскале.
Например, задачу о нахождении кратчайшего пути выхода из лабиринта проще всего записать в программном коде в виде рекурсии.
Или задача о Ханойских башнях. Рекурсивный вызов процедуры самой себя ощутим сокращает программный код.
Решение задач из Теории игр и системного анализа, расчет величин в пределах величины погрешности (условие - достижение результата с удовлетворяющей величиной погрешности) , например расчет числа Пи, решение задач методами итераций.
Применение рекурсий программистами является хорошим стилем программирования, показывает профессиональность.
Недавно решал задачу, условие которой сводилось к нахождению бесконечной суммы определенного выражения (сходящийся ряд) . Чтобы решить эту задачу, нужно определиться со степенью точности, с которой нужно получить результат, иначе задача не решается.
Когда это выражение достигнет требуемой точности сказать сложно (на каком шаге итераций) , поэтому здесь необходимо задать рекурсию.
Но одно можно сказать точно Барс - нет незаменимых вещей, всегда можно найти альтернативу.
Сергей Марков
Мыслитель
(8168)
Только цикл for
Все остальные циклы работают по принципу рекурсии, другими словами от условия. Цикл for хорош для решения самых простых, элементарных задач.
Операторы GoTo, процедура procedure Name(), function Name() - это все рекурсивные вызовы. Любой возврат в программе - рекурсия по определению.
Объектно-ориентированное программирование на 60% основано на рекурсиях.
Но если неправильно их использовать, можно зациклить программу на бесконечный повтор, что при совершенно несложно сделать.
Для решения задач
Рекурсия - это процесс повторения элементов самоподобным образом. Например, если два зеркала установить друг напротив друга, то возникающие в них вложенные отражения суть одна из форм бесконечной рекурсии.
Часто рекурсия значительно упрощает восприятие человеком. Например, рекурсивная формула для чисел Фибоначчи
a(n+2)=a(n+1)+a(n),
а нерекурсивная
a(n)=(((1+sqrt(5))^n/2)-(1-sqrt(5))^n/2))/sqrt(5).
Как красивее?
Для обработки древовидных структур в основном. Пример с Фибоначчи тоже в общем-то ничего такой.
Что значит фраза на мотив " От улыбки станет день светлей ", строка " Поделись рекурсией своей ..." ?
Ну, это шутка преподователей математитки.
Рекурсия это вызов фунции одна из другой, а потом
подробнее...
Скажите, что такое РЕКУРСИЯ? (только понятным языком---тяжко мне просторы интернета бороздить в поисках ответа)
Рекурсия-это вызов функцией самой себя, используется в логике и программировании.
В интернете
подробнее...
Объектно ориентированное программирование. (ООП)
Так никто нормально и не ответил!
Три признака ООП: инкапсуляция, наследование и полиморфизм.
подробнее...
Помогите кто может по программированию в Prolog
Анатолий Адаменко, Андрей Кучуков - эти точно помогут
Логическое программирование и Visual
подробнее...
1)Один из языков программирования называется Ада. Каково происхождение этого названия?
Не слушай предыдущий пост, язык назван в честь Августы Ады Кинг Лавлейс, дочки Байрона, которая
подробнее...
в каком классе ученикам объясняют что такое рекурсия
Понятие рекуррентной формулы дается в 9-м классе при изучении прогрессий. Если учитель не ленив, а
подробнее...
Преимущества и недостатки процедурного программирования? Также можно привести плюсыминусы относительно ООП
При процедурном подходе, код всегда эффективней, но в больших проектах, где много разнотипных
подробнее...
Программирование: метод рекурсивного спуска
там скорее всего выражение со скобками- иначе смысла в рекурсии нет
пример
подробнее...
Для чего нужны языки программирования fortran и perl?
Perl используется еще , но очень редко для написания сайтов, а фортран помоему уже и не
подробнее...
Что такое парадигма ООП и вообще слово "парадигма"?
Прежде всего, надо идти от перевода слова
Паради́гма (от греч.
подробнее...
Где качнуть неплохой учебник по VBA?
azbuka.rar (588 кБ)
Азбука Visual Basic. подойдет?
короче вот есть
подробнее...
Что такое цикл? И какие они бывают
Цикл — разновидность управляющей конструкции в высокоуровневых языках программирования,
подробнее...
Я хороший программист или нет? Что вообще должен уметь программист делать ?
Могу предложить два варианта, первый помогает определить свой уровень, второй больно бьет по
подробнее...
что такое лого разработчиков
Просто сокращенно - Логотип:
Что такое логотип?
Логотип (от греч. логос — слово и
подробнее...