69693

Рекурсія

Лекция

Информатика, кибернетика и программирование

Механізм рекурсії одночасно дуже корисний, але і дуже небезпечний. При створенні рекурсивних функцій потрібно бути особливо уважним, щоб уникнути зациклення. Наступна функція викличе зациклення...

Украинкский

2014-10-08

23 KB

0 чел.

Тема 21: Рекурсія

Рекурсією називається виклик функції самої себе. Такий виклик називається рекурсивним. Рекурсія буває пряма і непряма. Розглянемо приклад прямої рекурсії (див. лістинг 8.7).

Лістинг 8.7. Пряма рекурсія

<?

function   fact ($x)

{

if    ($x==0)    return   1;

else   return   $x*fact($x-l);

}

echo   fact (7);

?>

Як ви вже встигли здогадатися, функція fact () обчислює факторіал x!. Функція fact () у своєму тілі викликає саму себе — це і є пряма рекурсія. Непряма рекурсія виникає, коли перша функція викликає другу, а друга — першу.

Механізм рекурсії одночасно дуже корисний, але і дуже небезпечний. При створенні рекурсивних функцій потрібно бути особливо уважним, щоб уникнути зациклення. Наступна функція викличе зациклення (див. лістинг 8.8).

Листинг8.8. Некорректноєіспользованіє рекурсії

function   fact($x)

{

if    ($x==0)    return   1;

else   return   $x*fact($x);


 

А также другие работы, которые могут Вас заинтересовать

4519. Насосні станції. Навчально-методичний посібник 1.59 MB
  Вступ Ефективність роботи над курсом Насосні станції забезпечується путівником у вигляді структурованих модулів, в яких визначена послідовність виконання навчальних дій та характер їх виконання у вигляді символів. Основні положення при виконанні р...
4520. Радиоприемные устройства. Конспект лекций 1.58 MB
  Радиоприемные устройства В упрощенном изложении представлены принципы построения, основные схемотехнические и системотехнические решения и теоретические основы радиоприемных устройств. Рассмотрены структурные схемы радиоприемных устройств различного...
4521. Слово в телеэфире: Очерки новейшего словоупотребления в российском телевещании 868.5 KB
  Введение Растущее число научных и учебно-методических публикаций, в которых общекультурные, этические, социальные проблемы рассматриваются сквозь призму языковых явлений, свидетельствует о далеко не исчерпанных возможностях отечественной лингвистики...
4522. Автоматизированные информационно-управляющие системы 194.04 KB
  Цель работы Целью работы является изучение методов статистического моделирования временных рядов. Теоретическая часть Методы моделирования одномерных временных рядов Динамика рядов показателей состояния участков территориальных систем в общем случае...
4523. Практическое использование методов и средств диагностики 20.13 KB
  Практическое использование методов и средств диагностики Классификация диагностического оборудования В настоящее время нет достаточно четкой и полной классификации диагностического оборудования. Это создает определенные трудности при решении многих ...
4524. Расчет состава шихты, материального и теплового балан-сов агломерационного процесса 338.5 KB
  Введение Расчет агломерационной шихты ведут с целью определения такого соотношения между ее компонентами, которое обеспечит получение агломерата заданного качества. В простейшем случае при заданном расходе руды и коксовой мелочи необходимо вычислить...
4525. Грошово-кредитні системи зарубіжних країн 989 KB
  Розглянуто етапи еволюції грошово-кредитних систем, охарактеризовано їхні основні складові. Проаналізовано грошово-кредитну політику країн із розвиненою економікою. Окремий розділ присвячено огляду діяльності міжнародних валютно-кредитних та фінансо...
4526. Изучение теодолитов. Поверки. Производство измерений 225.5 KB
  Изучение теодолитов. Поверки. Производство измерений Цель работы: Изучить устройство, поверки теодолита Т30, принципы и порядок измерения горизонтальных и вертикальных углов с помощью теодолита. Описание и общая схема теодолита Т30 с осями...
4527. Расчет надземного трубопровода на прочность и продольную устойчивость 22.04 KB
  Расчет надземного трубопровода на прочность и продольную устойчивость Постановка цели: Определить допустимое расстояние между опорами надземного балочного перехода газопровода произвести расчет данного участка на прочность и продольную устойчивость...