priama rekurzia

Priama rekurzia

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:

procedure A
begin
  ak podmienka ukoncenia tak
    príkazy
  inak
  begin
    príkazy
    procedure A
    príkazy
  end
end

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