![]() ![]() ![]() | Rekursion |
Før det næste eksempel indskyder vi her et ganske kort afsnit, som i tekst gør rede for hvordan rekursive funktioner virker internt.
|
35.1. Implementation af rekursive funktioner
Indhold Op Forrige Næste Slide Aggregerede slides Stikord Programindeks Opgaveindeks
De tre første punkter gør rede for stakken af activation records, som vi har set i både udviklingen af de simple (og kunstige) rekursive kald af f fra afsnit 33.2 og udviklingen af power(2.0,10) omtalt i afsnit 34.6.
|
Det sidste punkt (og de to underpunkter) nævner halerekursion (tail recursiveness på engelsk). Vi går ikke i detaljer med halerekursion i dette materiale. Jeg henviser til materialet Functional Programming in Scheme som diskuterer emnet forholdsvis grundigt.
Enhver løkke (ala while, do, for) kan let omprogrammeres med en (hale)rekursiv funktion. Nogle former for rekursion kan kun meget vanskeligt omprogrammeres med løkker. |