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);


 

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

60740. Русские народные инструменты. Оркестр русских народных инструментов 64.5 KB
  Задачи урока: дать представление о русских народных инструментах оркестре; развивать интерес к народным традициям и культуре русского народа; воспитывать чувство патриотизма.
60741. Работа с табличными базами данными 1.03 MB
  Цель: дать понятие учащимся о работе с табличными базами данных в среде Microsoft Excel. Задачи: сформировать у учащихся представления о работе с табличными базами данных в среде Microsoft Excel.
60744. Тихий океан – найбільший океан Землі 438.5 KB
  Мета уроку: вивчити історію дослідження Тихого океану удосконалювати навики роботи учнів з географічною картою формувати вміння описувати географічне положення океану та будову його дна...
60746. Роль права в жизни человека, общества, государства 81.5 KB
  Для развития творческого мышления учащихся, познавательного интереса к предмету, воспитания правовой культуры разработан урок усвоения нового материала с элементами практической работы...
60747. Строение и работа сердца 97 KB
  Раскрыть связь строения сердца с его функцией. Дать понятие о сердечном цикле причине неутомляемости сердца. Рассмотреть причину автоматизма сердца.
60748. Сравнение, сложение и вычитание дробей с разными знаменателями 962 KB
  Цель урока: Сформулировать правила сравнения сложения и вычитания обыкновенных дробей с разными знаменателями повторить и обобщить знания об обыкновенных дробях; Развивать умение применять знания теории на практике развивать навыки самоконтроля и взаимоконтроля...