Ну так вот на многих сайтах с задачами (не только acmp.ru) я находил такое определение, как рекурсия. Не могли бы Вы рассказать всё (ну что Вы знаете), что нужно юному программисту, для знания данной темы.
1. Заголовок или название темы должно быть информативным !
2. Все тексты фрагментов программ должны помещаться в теги [code] ... [/code] или [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ" и используйте ПОИСК !
4. НЕ используйте форум для личного общения!
5. Самое главное - это раздел теоретический, т.е. никаких задач и программ (за исключением небольших фрагментов) - для этого есть отдельный раздел!
| Cheburashka |
Сообщение
#1
|
![]() Бывалый ![]() ![]() ![]() Группа: Пользователи Сообщений: 195 Пол: Мужской Реальное имя: Сергей Репутация: 2 |
Ну так вот на многих сайтах с задачами (не только acmp.ru) я находил такое определение, как рекурсия. Не могли бы Вы рассказать всё (ну что Вы знаете), что нужно юному программисту, для знания данной темы.
-------------------- ♣♣♣
"Себя великим не считай, гордясь величьем предков, Величья не добудешь ты и золота ценою! Хоть светит на небе луна, но отраженным светом - Чужою славой не живи, не будь второй луною!!!" ♣♣♣ |
![]() ![]() |
| volvo |
Сообщение
#2
|
|
Гость |
Ну, еще не мешало бы сказать про особый тип рекурсии: хвостовую (правую) рекурсию, когда собственно рекурсивный вызов производится после всех остальных необходимых вычислений (у Lapp-а в посте №8 приведена именно такая реализация вычисления факториала). То есть, вот это:
function Factorial(n: integer): LongInt;уже не хвостовая рекурсия, потому что рекурсивный вызов - не последний, после него есть еще вычисления... А разница - в том, что хвостовую рекурсию многие оптимизирующие компиляторы сводят к итерации, а значит, выполняться она будет быстрее и без доп. затрат памяти. Насчет Паскаль-компиляторов не знаю, чтоб кто-нибудь умел такое, но вот С++ компиляторы (в частности VC7+ от Microsoft, GCC из "GNU"-тых и ICC от Intel) прекрасно с данной задачей справляются. Кстати, создатели FPC утверждают, что версия 2.2 тоже уже умеет оптимизировать хвостовую рекурсию, но надо будет проверить... P.S. Я сам везде, где можно стараюсь использовать именно этот способ. Возможно, и не поможет, но не помешает - точно. А если когда-нибудь используемый компилятор научится оптимизировать такое - то не надо будет переписывать код |
Сергей Меркурьев Рекурсия? Что же это такое? 14.05.2009 18:07
Ozzя Берется любой хороший учебник по Паскалю и читаетс… 14.05.2009 18:14
Сергей Меркурьев А в учебнике "В.Б. Попова Turbo Pascal для шк… 14.05.2009 18:16
volvo В принципе, берется любой учебник по любому языку,… 14.05.2009 18:19
Ozzя В Фаронове есть.
http://pascal-books.narod.ru/boo… 14.05.2009 18:19
Сергей Меркурьев Ну я так понял что в основном рекурсия выполняетя … 14.05.2009 18:26
Lapp рекурсия выполняетя с помощью подпрограмм (процеду… 14.05.2009 20:02
Ozzя Ну да. Найдите какие-нибудь классичсекие примеры. … 14.05.2009 18:30
volvo Олег даже тему открывал в свое время для интересны… 14.05.2009 20:07
Lapp Но что-то ее забросили. Андрей, если наткнешься на… 14.05.2009 20:45
Сергей Меркурьев В общем то про факториал я знаю, и, что значение 3… 14.05.2009 23:35
Lapp А вот не могли бы Вы сказать мне каким образом мож… 15.05.2009 0:00
Сергей Меркурьев В принципе если Вас не затруднит рассказать мне пр… 15.05.2009 0:01
Lapp В принципе если Вас не затруднит рассказать мне пр… 15.05.2009 0:09
Сергей Меркурьев В принципе про рекурсия да! 15.05.2009 0:11![]() ![]() |
|
Текстовая версия | 7.11.2025 7:49 |