Rekursjon er et grunnleggende begrep i informatikk. Det er knyttet til matematikk , der visse funksjoner kan defineres i form av seg selv . Mens du får en veldig god følelse for rekursjon kan være vanskelig , å kunne skrive kode er rekursivt en viktig ferdighet . Rekursive algoritmer ofte avsløre innsikt om struktur eller natur av et problem . Rekursjonen kan brukes til å beregne eksponentielle krefter. Instruksjoner
en
Åpne et tekstredigeringsprogram, for eksempel Notisblokk. Notepad kan nås på
2
Skriv inn følgende definisjon for en rekursiv eksponensieringen funksjon "Start - > Alle programmer - > Tilbehør - > Notisblokk. " : En
( define ( Expt basen n )
( if ( = n 0 )
en
( * base ( Expt base ( - n 1 ) ) ) ) )
Denne definisjonen er gitt i Lisp . Imidlertid kan den samme funksjonen være skrevet i et språk som støtter rekursjon . Først har som funksjon å teste for avkjøringen tilstand , som i vårt tilfelle skjer hvis n = 0 . Deretter multipliserer vår funksjon basen ganger eksponenten av basen til den opprinnelige kraften minus en . Dette er en parallell til matematiske definisjonen av potenser .
3
Åpne definisjonen i tolk. Hvis du bruker en Lisp tolk , bruke funksjonen slik: .
( Expt 2 2)
Dette vil returnere 4