Priama rekurzia |
||||||||||||||||||||||||||||||||||
motivačná úloha modrydrak7@yahoo.co.uk |
Rekurzívny program je definovaný prostredníctvom seba. To znamená, že v tele procedúry obsahuje volanie na seba. Takéto rekurzívne volanie sa nazýva priama rekurzia. Schéma priamej rekurzie:
Pri písaní rekurzívnych procedúr je potrebné úlohu rozanalyzovať. Pri analýze úlohy musíme zistiť, ktoré príkazy sa budú vykonávať pred rekurzívnym volaním a ktoré po ňom. Ďalej je potrebné určiť, či na dne rekurzívneho vnárania (ak neplaní podmienka) sa budú vykonávať nejaké príkazy. Ako posledné je dôležité určiť parametre procedúry, tak aby sme nemali zbytočne veľa parametrov, ale zároveň aby sme pomocou nich vedeli určiť v podmienke ukončenia rekurzívneho vnárania, či sa má procedúra vykonávať alebo nie. Je dôležité uvedomiť si, že každý cyklus vieme predísť rekurzívne . Ale nie každý rekurzívny podprogram vieme prepísať pomocou cyklu. Rekurziu vieme použiť v takých úlohách, kde problém stupňa n vieme rozdeliť na nejaké príkazy a problém stupňa n+1, ktorý je rovnaký ako problém stupňa n |