Содержание
- 2. Понятие рекурсии Рекурсивным называется объект, который частично определяется через самого себя.
- 3. Факториал числа Нерекурсивное определение: N!= 1*2*..*N, при N>0, и N!=1 при N=0. Рекурсивное определение: Пример 5!=
- 4. Числа Фибоначчи Нерекурсивное определение: Рекурсивное определение: F6= F5+ F4 F5= F4+ F3 F4= F3+ F2 F3=
- 5. Содержание и мощность рекурсивного определения, а также его главное назначение, состоит в том, что оно позволяет
- 6. Рекурсивное определение состоит из двух частей: Базисного выражения (оно нерекурсивно), Рекурсивного выражения и строится так, чтобы
- 7. В программировании рекурсивной называется подпрограмма, которая в процессе выполнения вызывает сама себя. function fact (n:word):longint; begin
- 8. N:=fact(4); N=24
- 9. Формула рекурсивной п/п Чтобы рекурсия не зацикливалась, необходимо соблюдать два условия: Обязательно должно быть условие окончания
- 10. procedure Bit (n:word); begin if n>1 then bit (n div 2); write (n mod 2); end;
- 11. Рекурсия и Итерации While i:=0; N:=10; While i begin inc(i); readln(a); end; Рекурсия Procedure Inp (i,n:byte);
- 12. Рекурсия и Итерации While i:=0; While n>0 do begin inc(i); M[i]:=n mod 2; n:=n div 2;
- 13. Однако за простоту рекурсивных алгоритмов приходится расплачиваться неэкономным использованием оперативной памяти, так как выполнение рекурсивных процедур
- 14. При каждом рекурсивном вызове для локальных переменных, а также для параметров процедуры, выделяются новые ячейки памяти.
- 15. Каждое обращение к рекурсивной подпрограмме вызывает независимую активацию этой подпрограммы. Совокупность данных, необходимых для одной активации
- 16. Пример зацикленной рекурсии Procedure PopeAndDog; Begin Writeln(‘У попа была собака, он ее любил.’); Writeln(‘Она съела кусок
- 17. Разработать программу определения наибольшего общего делителя двух чисел, используя алгоритм Евклида. Базисное утверждение: если a=b, то
- 18. Function NOD (a,b:integer):integer; Begin If a=b then NOD:=a Else If a>b then NOD:=NOD (a-b,b) Else NOD:=NOD
- 19. Задачаа Написать программу ввода четных элементов и вывода их в обратном порядке. Массивы не использовать.
- 20. Procedure vvod; var n: integer; begin write(‘введите четное число: ‘); readln(n); if n mod 2=0 then
- 21. Разработать программу определения корней уравнения с заданной точностью ε на заданном отрезке методом половинного деления. function
- 22. BEGIN writeln('введите интервал:'); readln(a,b); writeln('введите точность:'); readln(eps); if func(a)*func(b)>0 then writeln('на заданном интервале корней нет') else
- 23. Во всех рассмотренных выше примерах рекурсивные подпрограммы имели общую черту: рекурсивная подпрограмма вызывает себя один раз.
- 24. Быстрая сортировка Быстрая сортировка основывается на принципе «разделяй и властвуй» и является улучшенной модификацией пузырьковой сортировки.
- 25. А={6, 23, 17, 8, 14, 25, 6, 3, 30, 7}
- 26. procedure quick(var A:array of integer; l,r:integer); var X,i,j, V:integer; begin X:=A[(l+r)div 2]; i:=l; j:=r; while (i
- 28. Скачать презентацию