Recursieve functie
Een recursieve functie is een functie die zichzelf aanroept tijdens de uitvoering. Dit proces kan zich meerdere keren herhalen, waarbij het resultaat aan het einde van elke iteratie wordt uitgevoerd.
De functie Count() hieronder gebruikt recursie om vanaf elk getal tussen 1 en 9 tot het getal 10 te tellen. Count(1) zou bijvoorbeeld 2,3,4,5,6,7,8,9,10 retourneren. Count(7) zou 8,9,10 retourneren. Het resultaat kan worden gebruikt als een omslachtige manier om het getal van 10 af te trekken.
function Count (integer N)
if (N <= 0) return "Must be a Positive Integer";
if (N > 9) return "Counting Completed";
else return Count (N+1);
end function
Met recursieve functies kunnen programmeurs efficiënte programma's schrijven met een minimale hoeveelheid code. Het nadeel is dat ze oneindige lussen en andere onverwachte resultaten kunnen veroorzaken als ze niet goed worden geschreven. In het bovenstaande voorbeeld wordt de functie bijvoorbeeld beëindigd als het getal 0 of lager, of groter dan 9 is. Als in een recursieve functie niet de juiste gevallen zijn opgenomen om de uitvoering te stoppen, wordt deze voor altijd herhaald, waardoor het programma vastloopt of niet meer reageert.
Test je kennis