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


 

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

78262. Гемолитическая болезнь плода и новорожденного 128 KB
  Гемолитическая болезнь плода и новорожденного это изоиммунная гемолитическая анемия возникающая в случае несовместимости крови матери и плода по эритроцитарным антигенам когда антигеном являются эритроциты плода а антитела вырабатываются в организме матери. Чаще всего это заболевание развивается при несовместимости крови матери и плода по резусантигену и встречается с частотой 1 случай на 200250 родов. Несовместимость по антигенам АВ0 приводящая к гемолитической болезни обычно развивается при группе крови матери I и группе крови...
78263. Перинатальное поражение центральной нервной системы 132 KB
  Среди причин перинатальных поражений мозга ведущее место занимает внутриутробная и интранатальная гипоксия плода. После отхождения околоплодных вод плод испытывает неравномерное давление которое приводит к расстройствам микроциркуляции в предлежащей части и к механическому повреждению тканей мозга плода в родах. Непосредственной причиной возникновения родовой травмы головного мозга является несоответствие размеров костного таза матери и головы плода. Родовая травма головного мозга и гипоксия патогенетически связаны друг с другом и обычно они...
78264. Рахит у детей 138 KB
  Главное значение в этиологии заболевания имеет недостаточное поступление в организм ребенка витаминов группы D а также группы B B1 B2 B6 аскорбиновой кислоты витамина солей кальция фосфора магния и других микроэлементов белка и отдельных аминокислот в периоды внутриутробного и постнатального развития. Эндогенным фоном предрасполагающим к рахиту является свойственная растущему организму высокая скорость перемоделирования и роста скелета особенно в 1ый год жизни и обусловленная этими процессами большая потребность в солях...
78265. Аномалии конституции. Спазмофилия. Гипервитаминоз D у детей 137 KB
  Наличие у ребенка определенного типа диатеза еще не означает что он обречен на ту или иную патологию к которой он предрасположен потому что именно у детей по мере созревания физиологических барьеров а также профилактических мероприятий давление наследственных факторов может ослабнуть. Аллергическое поражение кожи у детей первых 3х месяцев жизни раньше рассматривали как экссудативнокатаральный диатез. Этот диатез встречается у 50 детей первых 2х лет жизни. ткани этих детей повышенно гидрофильны и одновременно гидролабильны.
78266. Гнойно-воспалительные заболевания у детей 164 KB
  В этих случаях с момента рождения у ребенка могут выявляться такие заболевания как везикулопустулез пузырчатка внутриутробная пневмония менингит сепсис и др. Однако основным путем является инфицирование ребенка после рождения. При необильном высыпании общее состояние ребенка не нарушено аппетит сохранен температура тела нормальная и реже субфебрильная а при обильном высыпании появляются симптомы интоксикации. Пузырчатка новорожденного Она развивается чаще в первые 2 недели жизни ребенка.
78267. Острые пневмонии у детей 135 KB
  Некоторые из них в том числе острые пневмонии являются одной из причин смертности детей в раннем возрасте хотя от пневмоний дети не должны умирать. Дети в этом возрасте длительное время находятся в горизонтальном положении что приводит к застою кровообращения в задненижних отделах легких и к более легкому возникновению пневмонии. Возникновению пневмонии способствуют также другие факторы а именно: несоблюдение эпидемиологического режима то есть инфицирование ребенка; неполноценное питание и плохой уход; охлаждение или перегревание...
78268. НИВЕЛИРОВАНИЕ. ГЕОМЕТРИЧЕСКОЕ НИВЕЛИРОВАНИЕ 27.54 KB
  Одиночные ходы и системы ходов должны опираться не менее чем на два исходных пункта. Проложение замкнутых ходов опирающихся на один исходный пункт допускается лишь при особой необходимости. При приложении нивелирных ходов для определения высот пунктов аналитических сетей относительно исходной основы со средними квадратическими погрешностями...
78269. Тахеометрическая съемкаемка 9. 163.31 KB
  При производстве тахеометрической съемки используют геодезический прибор тахеометр предназначенный для измерения горизонтальных и вертикальных углов длин линий и превышений. Для выполнения тахеометрической съемки используются также тахеометры с номограммным определением превышений и горизонтальных проложений линий. Производство тахеометрической съемки Тахеометрическая съемка выполняется с пунктов съемочного обоснования их называют станциями.
78270. Состав камеральных работ 166.31 KB
  Стороны угла проектируют на лимб с использованием подвижной визирной плоскости зрительной трубы. Она образуется визирной осью трубы при её вращении вокруг горизонтальной оси. Данную плоскость поочередно совмещают со сторонами угла ВА и ВС последовательно направляя визирную ось зрительной трубы на точки А и С...