рекурсивни функции

Ако тялото на функцията отговаря самата предизвикателството тази функция, тогава ние се занимаваме с т.нар рекурсия. В Pascal рекурсивно програмиране може да има функции, както и процедури.

В този пример, процедурата показва мембрани за о номера минута като реални числа параметри в обратен ред. Т.е. Ако мине номера 35, след това процедурата ще покаже броя 53. Нека да видим как тя го прави:

  1. Минаваме броя 3096.
  2. Процедура Въ показва остатъка от деление от 10. Това число е 6.
  3. Нов ред е пощаден употребяван запис.
  4. Проверките за състояние, което 3096, когато число разделяне с 10 е по-голяма от нула.
  5. Той призова Въ с действителния параметър настроен на 309.
  6. Втората процедура е стартирана показва броя 9 и започва третата процедура с 30 параметри.
  7. Третата процедура извежда 0 и причинява четвъртото мембрани за о 3, като параметър.
  8. Четвъртата процедура отнема от 3 до екрана и нищо друго не е, защото състояние (3 DIV 10) <> 0 е невярно.
  9. Четвъртата процедура е завършена и предава трета контрола.
  10. Третият процес е завършен и предава втората контрола.
  11. Вторият процес е завършен и предава първата контрола.
  12. Първата процедура е завършена, и предава управлението на програмата за основните линии.

В крайна сметка, процедура Въ се нарича четири пъти, въпреки че основната програма за това е единственото лечение.

Наличието на тялото по отношение на рекурсивни функции (или процедури), в която той вече не себе си няма да причинят, това е много важно. В противен случай, както и в ситуацията с могат да се появят така наречените контур цикли.