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

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

Легко показать, что если некоторая функция для всех положительных целых х и у обладает указанными свойствами, то она является функцией, вычисля­ющей наибольший общий делитель двух чисел. Таким образом, с точностью до ошибки, отмеченной в замечании 1, процедура MCDкорректно решает задачу.

Конец примера 8.7.2.

8.7.2. Рекурсия через параметры

Понятие рекурсивной процедуры возникает в связи с осуществимостью и полезностью применения в практике программирования приема, когда в ходе вычислений одновременно существует несколько экземпляров одной и той же программной единицы (см. п. 8.4.3). Как правило, различаются яв­ная рекурсия — вызов процедуры в ней самой, и взаимная (опосредованная) рекурсия — в тексте программы представлена последовательность проце­дур, вызывающих друг друга и в конечном итоге вызывающих первую из процедур последовательности.

Отличительной особенностью всех таких случаев рекурсии является то, что она всегда может быть выявлена путем анализа текстов самих под­программ. При взаимной рекурсии этот анализ довольно сложен, но, тем не менее, вполне осуществим (обучаемым предлагается построить соответ­ствующий алгоритм).

В практике программирования встречается еще один способ задания ре­курсивных алгоритмов, который не всегда может распознаваться на осно­вании только такой информации. Этот случай связан с заданием рекурсии через параметры. В языках со строгой типизацией (например, в Pascal'е, где для повышения надежности программирования вводится ограничение: в параметрахфункциях и параметрахпроцедурах не допускаются иные па­раметры, кроме параметров, передаваемых по значению) такая рекурсия невозможна. Но если соответствующие ограничения на параметризацию не накладываются, появляется возможность задавать процедуры, становящиеся рекурсивными через параметры.

Новости

  • 1
  • 2
Prev Next

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

24.01.2016

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

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

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

24.01.2016

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

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

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

24.01.2016

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

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

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

24.01.2016

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

Реклама