rekursion är ett grundläggande begrepp inom datavetenskap . Det är kopplat till matematik , där vissa funktioner kan definieras i termer av sig själva . Samtidigt som de får en riktigt bra känsla för rekursion kan vara svårt , att kunna skriva kod rekursivt är en viktig färdighet . Recursive algoritmer uppvisar ofta insikter om strukturen eller naturen av ett problem. Rekursion kan användas för att beräkna exponentiella befogenheter. Instruktioner
1
Öppna en textredigerare som Anteckningar . Anteckningar kan nås på
2
Skriv in följande definition för en rekursiv exponentieringsfunktionen " Start - > Alla program - > Tillbehör - > Anteckningar . " :
( define ( Expt bas n ) katalog
(om ( = n 0 ) katalog
en
(* bas ( Expt bas ( - n 1 )))) ) katalog
Denna definition ges i Lisp . Däremot kan samma funktion skrivas i valfritt språk som stöder rekursion . Först , har funktionen att testa mot utgången tillstånd , som i vårt fall händer om n = 0 . Sedan multiplicerar vår funktion basen gånger exponent av basen till den ursprungliga kraften minus 1 . Detta sker parallellt med matematiska definitionen av exponentiation .
3
Öppna definitionen i tolk . Om du använder en Lisp tolk , använd funktionen så här: .
( Expt 2 2 ) katalog
Detta återkommer 4