Rekursiv funktion
En rekursiv funktion är en funktion som kallar sig själv under dess körning. Detta gör det möjligt för funktionen att upprepa sig själv flera gånger och mata ut resultatet och slutet på varje iteration. Nedan följer ett exempel på en rekursiv funktion.
funktionsantal (heltal N)
om (N <= 0) returnera "Måste vara ett positivt heltal";
om (N> 9) returnerar "Räkningen slutförd";
annars returnerar räkningen (N + 1);
slutfunktion
Funktionen Count () ovan använder rekursion att räkna från valfritt tal mellan 1 och 9, till antalet 10. Till exempel skulle Count (1) returnera 2,3,4,5,6,7,8,9,10. Räkning (7) skulle returnera 8,9,10. Resultatet kan användas som en rondell för att subtrahera numret från 10.
Rekursiva funktioner är vanliga inom datavetenskap eftersom de tillåter programmerare att skriva effektiva program med en minimal mängd kod. Nackdelen är att de kan orsaka oändliga slingor och andra oväntade resultat om de inte skrivs ordentligt. Till exempel, i exemplet ovan avslutas funktionen om antalet är 0 eller mindre eller större än 9. Om korrekta fall inte ingår i funktionen för att stoppa körningen kommer rekursionen att upprepas för alltid, vilket får programmet att krascha, eller ännu värre, häng hela datorsystemet.