Непейвода Н.Н. Программирование. Раздел 3

Непейвода Н.Н. Программирование. Страница 365

Рассмотрим следующий пример. Пусть требуется вычислитьN1для небольших значений N. Определение этой функции как произведения

то для такого определения итеративная схема не очень естественна. Более согласуется с ним следующее описание функции, которое называется рекур­сивным алгоритмом, или, точнее, алгоритмом, построенным по рекурсивной схеме:

(Здесь для простоты функцияN1 при неположительном целом аргументе доопределена как единица.)

Выполнение рекурсивных программ проще всего пояснить, отслеживая процесс вычислений и сопоставляя его с процессом вычислений по ите­ративной схеме. В рассматриваемом примере сопоставляются два способа вычисленияN1 при ЛГ, равном четырем.

По итеративной схеме произведение 1*2*3*4 вычисляется путем на­капливания его в переменной Р. Р инициализируется единицей, затем при I, равном 2, 3, и 4, увеличивается, соответственно, в 2, 3, и 4 раза (после вы­полнения оператора Р := Р * I) и, как следствие, становится равной 2, 6 и 24. I, равное 4, — последнее значение, при котором перевычисляется Р, и именно при этом значении I формируется последнее Р (равное 24), которое является результатом выполнения итеративной программы.

По рекурсивной схеме 4! вычисляется как произведение 3! на 4. Если 3! вычислено, то 4! есть результат умножения этого значения на 4. Таким обра­зом, чтобы подсчитать 4! по рекурсивной схеме, надо сначала вычислить 3!, что требует вычисления 2!, для которого требуется предварительно вычис­лить 1!. Последнее, согласно алгоритму, есть 1, т. к. ТУ, равное 1, меньше, чем 2. 2! есть 1! (уже вычисленное и равное 1), умноженное на 2. 3!, — это произведение 2*3, где 2 = 2! = (3 — 1)!, а 3 — величина N. использованная при вызове алгоритма для нахождения 3!. Наконец, коль скоро 3! получено, можно продолжить вычисление 4! как 3! * ДГ при ТУ" = 4.

Новости

  • 1
  • 2
Prev Next

Ракета "Ангара-А5В" в ближайшее десятилетие не полетит

24.01.2016

Ракета "Ангара-А5В" в ближайшее десятилетие не полетит

Роскосмос не планирует в течение ближайшего десятилетия осуществлять пуск тяжёлой ракеты-носителя А...

Ученые РФ опровергли выводы исследований о вреде ГМО

24.01.2016

Ученые РФ опровергли выводы исследований о вреде ГМО

Исследователи из Института проблем передачи информации (ИППИ РАН) проанализировали несколько самых п...

Летающие "Крокодилы"

24.01.2016

Летающие "Крокодилы"

20 удивительных фактов о боевом вертолете Ми-24.Этот вертолет стал таким же узнаваемым символом сове...

В Аргентине описали новый вид динозавра-гиганта

24.01.2016

О ранее неизвестном виде динозавра, относящемуся к инфраотряду зауроподов, рассказали аргентинские п...

Реклама