ВВЕДЕНИЕРекурсия является одним из наиболее мощных и, наверно, самым общим методом научного познания. Она эффективно применяется во многих прикладных и теоретических естественнонаучных дисциплинах, и стала неотъемлемой их частью.
Слайд 2
ВВЕДЕНИЕ Рекурсия является одним из наиболее мощных и, наверно,
самым общим методом научного познания. Она эффективно применяется во
многих прикладных и теоретических естественнонаучных дисциплинах, и стала неотъемлемой их частью.
Слайд 3
ВВЕДЕНИЕ Понятие рекурсии очень широко и многогранно. В настоящей
работе будет освещён лишь один аспект этого понятия, а
именно рекурсивные алгоритмы. Они рассмотрены как с позиций теории алгоритмов и теории сложности, так и с точки зрения практического программирования.
Слайд 4
Развитие теории конечных автоматов позволило строго доказать алгоритмическую
неразрешимость ряда важных математических проблем. Однако её существенным недостатком
является невозможность реализации такой полезной конструкции как рекурсия.
Слайд 5
Рекурсивные алгоритмы в программировании реализованы в механизме так
называемых рекурсивных подпрограмм. Рекурсивной считается подпрограмма, которая прямо или
косвенно, через другие подпрограммы, обращается к себе, быть может с иными фактическими параметрами.
Слайд 6
Подпрограммы в Паскале могут обращаться сами к себе.
Такое обращение называется рекурсией.
Слайд 7
Пример программы с использованием рекурсии Program Arsac; Var first: word; Procedure
posledov (i: word); Begin Writeln (i);
If i=1 then exit; If odd(i) then posledov(3*i+1) else posledov(i div 2); End; Begin Write (‘ введите первое значение ’); readln (first); Posledov (first); Readln ; End.
Слайд 8
Пример рекурсивной функции вычисления факториала Function factorial(N: integer) :
longint; Begin If N= 0 then
Factorial := 1 Else Factorial := factorial(N-1) * N End;
Слайд 9
ЗАКЛЮЧЕНИЕ По итогам разностороннего исследования рекурсивных алгоритмов можно сделать
ряд важных и, надо сказать, приятных выводов. Во-первых, рекурсивные алгоритмы
есть универсальное средство решения разнообразных алгоритмических проблем. Во-вторых, рекурсивные алгоритмы быстрее. В-третьих, развитие современных программных средств сделало практическое использование рекурсии достаточно несложным делом.